IObservable<T>、IObserver<T> この2つのインターフェースはクラスのオブジェクトどうしの監視と通知を実現するインターフェースです。 LINQのような文法で非同期処理を書くことができるReactive ExtensionsはIObservable<T>とIObserver<T>によって実現され、RXを理解する上でも非常に重要なインターフェースであるのですがその分理解が難しく、監視する人(IObserver)と監視される人(IObservable)、さらには監視者の監視を解除する人(IDiposable)の3つの概念を理解するのは非常に難しいです。 そこで本ブログでは、労働者と監視者の関係を用いて、簡単なサンプルコードと一緒に解説していきたいと思います。 登場人物紹介 まず、この解説物語には3人の登場人物が登場し、それぞれ以下のインターフェースを実装します。 労働者「M
![C#の主要インターフェース解説:IObservable<T>、IObserver<T> - がりらぼ](https://cdn-ak-scissors.b.st-hatena.com/image/square/8a9c285850f93c2e03dd2dad6ea6bf966005a25c/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fg%2Fgaricchi%2F20140911%2F20140911235912.png)