Observerパターンとは?おぶざーばぱたーん
Observerパターンとは、ある対象の状態が変わったとき、あらかじめ登録された複数の依存側へ自動で知らせる設計の型。知らせる側は相手の具体的な種類を知らずに済むため、通知先を増やしても通知元を書き換えずに済む。出版と購読の関係に置き換えると捉えやすい。
最終更新:2026-10-06
この語が出る過去問を解く →背景
同じデータを見る先が増えるたびに更新処理を書き足していくと、データの側があらゆる表示先を知ることになり、変更のたびに双方を直す必要が出る。この依存の向きを断つために、登録と通知だけを約束事にする型が整理された。監査では、変更の影響範囲を設計から説明できるかという観点に結びつく。
具体例
Java の PropertyChangeListener のように、登録した先へ変化を配る作りが該当する。監査人は保守案件の設計書レビューで、通知先を増やす変更が通知元の改修を伴っていないかを確かめ、伴っている場合は影響調査の範囲とテスト計画が相応に広げられているかを追跡する。
試験での引っ掛け
依存する側が定期的に問い合わせる方式ではなく、変化した側が押し出す方式である。仲介役を一か所に集めるMediator、生成を扱うFactoryとは目的が違う。通知先が増えるほど通知一回の処理が重くなるため、性能問題の原因としても問われる。
関連用語
出た過去問
出典:平成30年度 春期 システム監査技術者試験 午前Ⅱ 問22(IPA)
デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。
正解:あるオブジェクトの状態が変化したときに,それに依存する全てのオブジェクトに自動的に通知する。
要点:Observerパターンは状態変化を依存オブジェクトへ自動通知する
Observerパターンは、観察される側と観察する側を分離し、状態変化が起きたときに登録済みの依存オブジェクトへ一斉に通知する構造を与える。これにより通知元は通知先の具体的な型を知らずに済み、両者の結合度が下がる。イベント処理やモデルとビューの同期に広く使われる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。