DesignPatterns > Observer

Observer


目的

あるオブジェクトが状態を変えたときに、それに依存する全てのオブジェクトにそれが通知されるように、オブジェクト間に1対多の依存関係を定義する。

構造


注釈

  • Updateオペレーションでどのような情報を通知するかはいろいろな場合があるが、情報量の観点で2つの極端な方法があり、それぞれpushモデルとpullモデルと呼ばれる。pushモデルでは、SubjectはObserverに対し、変化した全ての状態情報を通知する。pullモデルでは、SubjectはObserverに対し、最低限の情報のみを通知し、詳細情報はObserverの方から問い合わせて取得させる。pushモデルでは通知される情報量が多くなり、pullモデルでは何の状態が変化したのかをObserver側が判断する必要がある。


最終更新:2012年02月07日 12:15
添付ファイル