読み方 : オブザーバパターン
Observerパターン【Observer pattern】
概要

このパターンは、状態を持つサブジェクト(Subject)と、その変化を待ち受けるオブザーバ(Observer)という二つの役割で構成される。サブジェクトは自分を監視しているオブザーバのリストを内部で管理しており、自身の状態が更新されると、リストに登録されたすべてのオブザーバに対して更新通知を一斉に送信する。
通知を受け取ったObserverは、各々の役割に応じた処理を自動的に実行する。サブジェクトとオブザーバは互いの具体的な実装を知らず、共通のインタフェースを通じて通知を行う。互いに相手の構造に依存しない疎結合な関係性となり、機能追加や変更の影響を局所化しやすい。
Observerパターンは、ユーザーインタフェースのイベント処理や、モデルと表示を分離するアーキテクチャなどで広く利用されている。例えば、データの内容が変更された際に、複数の画面表示やログ出力が同時に更新される場面で有効である。一方で、通知の順序や頻度が増えると処理負荷や設計の複雑化を招く場合もあるため、更新条件の制御や不要な通知の抑制が検討される場合もある。