平成28年度春期 エンベデッドシステムスペシャリスト試験 午前II 問22
【問題22】
デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。
あるオブジェクトの状態が変化したときに、それに依存する全てのオブジェクトに自動的に通知する。
ある機能をもつオブジェクトを新しいオブジェクトでラップし、動的に機能を拡張する。
あるクラスのインスタンスが一つしか存在しないことを保証する。
配列や集合のような実装の異なるコンテナに対し、同一のインタフェースでアクセスする。
【解説】
ア: あるオブジェクトの状態が変化したときに、それに依存する全てのオブジェクトに自動的に通知する。
正しい。Observerパターンは、オブジェクトの状態変化を監視し、その変化を依存するオブジェクトに自動的に通知する仕組みを提供します。このパターンは、イベントリスナーや通知システムに使われます。
イ: ある機能をもつオブジェクトを新しいオブジェクトでラップし、動的に機能を拡張する。
誤り。これはデコレータパターンの説明であり、Observerパターンには該当しません。
ウ: あるクラスのインスタンスが一つしか存在しないことを保証する。
誤り。これはシングルトンパターンの説明であり、Observerパターンには該当しません。
エ: 配列や集合のような実装の異なるコンテナに対し、同一のインタフェースでアクセスする。
誤り。これはイテレータパターンの説明であり、Observerパターンには該当しません。
【答え】
ア: あるオブジェクトの状態が変化したときに、それに依存する全てのオブジェクトに自動的に通知する。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前II 問22