非同期/イベント/時間に関する処理を、簡潔かつC#のさいきょうライブラリ
RxはObserverパターンが考え方としてとても大切になってくる。
基本的には**観測対象(=Subject)と傍観者(=Observer)**の2つの役割が存在する。
そして観測対象であるSubjectの状態が変化するとObserverに通知されるデザインパターン
→状態変化に応じた処理(非同期など)を記述する際に便利!!
また、この時観測対象であるSubjectは**Observer(の型)**を直接知らないように抽象化する。
→この抽象化を実現するのに、一般ではインターフェースが利用される。
.NET Framework 4では、SubjectのインターフェースとしてIObservable<T>
、ObserverのインターフェースとしてIObserver<T>
が導入されている。
観測対象 | 傍観者(購読者) | |
---|---|---|
Observerパターン | Subject | Observer |
Rx | IObservable | IObserver |
IObservable<T>はSubscribeメソッドのみを持っている。
IDisposable Subscribe(IObserver<T> observer)
メソッド
引数で受け取ったObserverにイベント通知を行うようにする