簡體   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