Observer Pattern
オブザーバーパターンは1対多の依存関係を定義する。サブジェクトの状態が変化すると、登録されたすべてのオブザーバーに自動的に通知が送られ、疎結合なイベント通知を実現する。
目的
パブリッシュ・サブスクライブ型のイベント通知を実装し、イベントソースとハンドラーを疎結合にする。
メカニズム
サブジェクトはオブザーバーのリストを維持し、状態変化のたびに各オブザーバーのupdateメソッドを呼び出す。オブザーバーは動的に登録・登録解除できる。RxJSやEventEmitterが実装例である。プッシュモデル(データを渡す)とプルモデル(オブザーバーが取得する)がある。
ユースケース
- イベント駆動の設計
- MVVMのデータバインディング
- リアクティブプログラミング