IObservable< T> .NET Framework 4.0 Beta2
-
06-07-2019 - |
質問
IObservable< T>
および IObserver< T>
インターフェイスは、.NET Framework 4.0 Beta2の System
名前空間に直接配置されます。 IEnumerable< T>
のように、 System.Collections.Generic
ではどうですか?
p.s。 Silverlight Toolkitのリアクティブフレームワークプレビューには、 System.Collections.Generic
名前空間に IObserver< T>
が含まれています。
解決
新しいIObservable / IObserverインターフェースが記述するものは、計算の特殊なケースと見なされる単なるコレクションよりもはるかに高い抽象化です(そのためHaskellのリストはモナドです)。そのため、このような一般化がSystem名前空間に適用されることは明らかです。
この素晴らしいキャスト。ErikMeijerがインターフェイスの背後にあるアイデアを説明しています。
他のヒント
IObservable は、識別するインターフェイスです Observer パターンを実装するクラス。コレクションとは関係ありません。イベントに代わるものを提供することに関連しています。
これは私が偶然見つけた古い質問ですが、IObservableとIEnumerableの間の「二元論」に関する@ControlFlowの評価を、「プッシュベース」コレクションと「プルベース」コレクションとして、Erik Meijerの「Rx彼はまさにそれを言っているとして引用することができます。 http://channel9.msdn.com/posts / Charles / Erik-Meijer-Rx-in-15-Minutes /
その結果、このプッシュベースのコレクションは、「呼び出されるイベントのありふれたシリーズ」の基本的なパラダイムを、宣言的アクション可能の非同期、選択可能、クエリ可能、パス可能、サブスクライブ可能なファーストクラスのコレクションに根本的にシフトできます。コアBCL名前空間に属しているか、またはおそらくそれ自身のものに値する何かが、名前空間を共有するにはYet-Another-Collectionをはるかに超えています。気を付けて、それは私の意見です。