IPA過去問ドリル

平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

テクノロジ/開発技術

デザインパターンの一つである Observer パターンを利用して実現できることはどれか。

出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

正解:ア

解説

Observerパターンは,あるオブジェクト(Subject,観察対象)の状態が変化したときに,それを監視している複数のオブジェクト(Observer,観察者)に対して自動的にその変化を通知する仕組みを提供するデザインパターンです。SubjectとObserverの間を疎結合にすることによって,状態変化の発生元となるオブジェクトを変更することなく,通知を受け取るオブジェクトを自由に追加・削除できるようになります。

選択肢ごとの解説

  • 正しい。Observerパターンは,あるオブジェクトの状態が変化したときに,それに依存する全てのオブジェクト(Observer)へ自動的に変化を通知する仕組みを実現します。
  • 誤り。ある機能をもつオブジェクトを新しいオブジェクトでラップし,動的に機能を拡張することは,Decoratorパターンの説明であり,Observerパターンの説明ではありません。
  • 誤り。あるクラスのインスタンスが一つしか存在しないことを保証することは,Singletonパターンの説明であり,Observerパターンの説明ではありません。
  • 誤り。配列や集合のような実装の異なるコンテナに対し,同一のインタフェースでアクセスすることは,Iteratorパターンの説明であり,Observerパターンの説明ではありません。
エンベデッドシステムスペシャリストの過去問を演習モードで解く