読み方 : オブザーバパターン

Observerパターン【Observer pattern】

概要

Observerパターンとは、オブジェクト指向プログラミングで用いられるデザインパターンの一つで、あるオブジェクトの状態変化を、依存する複数のオブジェクトに自動的に通知する設計手法。オブジェクト間の結合度を下げることができる。
Observerパターンのイメージ画像

このパターンは、状態を持つサブジェクト(Subject)と、その変化を待ち受けるオブザーバ(Observer)という二つの役割で構成される。サブジェクトは自分を監視しているオブザーバのリストを内部で管理しており、自身の状態が更新されると、リストに登録されたすべてのオブザーバに対して更新通知を一斉に送信する。

通知を受け取ったObserverは、各々の役割に応じた処理を自動的に実行する。サブジェクトとオブザーバは互いの具体的な実装を知らず、共通のインタフェースを通じて通知を行う。互いに相手の構造に依存しない疎結合な関係性となり、機能追加や変更の影響を局所化しやすい。

Observerパターンは、ユーザーインタフェースのイベント処理や、モデルと表示を分離するアーキテクチャなどで広く利用されている。例えば、データの内容が変更された際に、複数の画面表示やログ出力が同時に更新される場面で有効である。一方で、通知の順序や頻度が増えると処理負荷や設計の複雑化を招く場合もあるため、更新条件の制御や不要な通知の抑制が検討される場合もある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。