ソフトウェア開発とプロジェクト管理
GoFのデザインパターンのうち、あるオブジェクトの状態が変わったときに、それに依存する複数のオブジェクトへ自動で通知されるようにするパターンはどれか。
- AObserver
- BSingleton
- CAdapter
答えと解説を見る
正解:A. Observer
Observerパターンでは、通知する側(サブジェクト)が、通知を受けたいオブジェクト(オブザーバ)を登録しておき、状態が変わると登録されたすべてに知らせます。通知する側は相手の具体的なクラスを知らなくてよいので、結合度を弱く保てます。例えば、センサの値が変わったときに、表示・記録・警報の各処理へ知らせる設計に使えます。Singletonはクラスのインスタンスが1つだけになるようにするパターン、Adapterは合わないインタフェースを変換してつなぐパターンです。
- A. 正しい。状態の変化を、登録された複数のオブジェクトへ通知します。
- B. クラスのインスタンスが1つだけになるようにするパターンで、通知のしくみではありません。
- C. インタフェースの合わないクラスどうしを、変換してつなぐパターンです。