繁体   English   中英

的IObservable <T> .NET Framework 4.0 Beta2中

[英]IObservable<T> in .NET Framework 4.0 Beta2

IObservable<T>IObserver<T>接口直接放置在.NET Framework 4.0 Beta2的System名称空间中。 为什么不在System.Collections.Generic ,例如IEnumerable<T>

来自Silverlight Toolkit的ps Reactive Framework预览在System.Collections.Generic命名空间中包含IObserver<T>

IObservable是一个接口,用于标识实现观察者模式的类。 它与收藏无关。 它与提供事件的替代方法有关。

新的IObservable / IObserver接口描述的是比集合高得多的抽象,集合可以看作是计算的特例(这就是Haskell中的列表为monad的原因)。 因此,很明显,这种概括是放置在System名称空间中的。

看看Erik Meijer的精彩作品 ,他描述了界面背后的想法。

尽管这是我偶然发现的一个老问题,但我只想支持@ControlFlow对IObservable和IEnumerable之间的“二元论”的评估,将其作为“基于推送”与“基于拉”的集合,并链接到Erik Meijer的“ 15分钟内的Rx” ”,可以引用他的话。 http://channel9.msdn.com/posts/Charles/Erik-Meijer-Rx-in-15-Minutes/

因此,基于推送的集合可以从根本上将“世俗的一系列事件”的基本范式转变为声明式可操作的异步,可选,可查询,可传递和可订阅的一流集合。 那些属于核心BCL名称空间的东西,或者应该属于它自己的东西,但是远远超出了Yet-Another-Collection,无法共享其名称空间。 提醒您,那只是我的意见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM