平成30年度 春期 午前Ⅱ 問22
ソフトウェア開発管理技術
デザインパターンに関する問題
デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。
- アあるオブジェクトの状態が変化したときに,それに依存する全てのオブジェクトに自動的に通知する。
- イある機能をもつオブジェクトを新しいオブジェクトでラップし,動的に機能を拡張する。
- ウあるクラスのインスタンスが一つしか存在しないことを保証する。
- エ配列や集合のような実装の異なるコンテナに対し,同一のインタフェースでアクセスする。
答えと解説を見る
✓ これが正解アあるオブジェクトの状態が変化したときに,それに依存する全てのオブジェクトに自動的に通知する。
解説
Observerは、状態の変化を依存するオブジェクトへ自動で通知する型です。
デザインパターンは、オブジェクト指向設計でよく現れる問題と、その解き方の型に名前を付けたものです。見分ける軸は、そのパターンが何と何の関係を整理するためのものかです。Observerパターンは、あるオブジェクトの状態が変化したときに、それに依存している全てのオブジェクトへ自動的に通知が届くようにする型です。通知する側は、誰が見ているかを細かく知らなくても、登録された相手にまとめて知らせればよいので、両者の結び付きを弱く保てます。見張る人に変化を知らせる型、と名前の意味で覚えておくと他のパターンと区別できます。
ほかの選択肢はなぜ違うのか
- イある機能をもつオブジェクトを新しいオブジ…:あるオブジェクトを新しいオブジェクトで包み込み、元を変えずに機能を動的に付け足すのは、機能の拡張のための別の型です。状態の変化を依存する相手へ通知するための型ではありません。
- ウあるクラスのインスタンスが一つしか存在し…:あるクラスのインスタンスが一つしか存在しないことを保証するのは、生成されるインスタンスの数を制御する別の型です。状態の変化を知らせる仕組みとは関係がありません。
- エ配列や集合のような実装の異なるコンテナに…:配列や集合のように実装の異なる入れ物に対して、同じインタフェースで要素をたどれるようにするのは、要素へのアクセスの仕方をそろえる別の型です。変化の通知の仕組みとは違います。
この問題の用語
- パターン繰り返し現れる規則性や、決まった形のことを指します。膨大なデータを処理して、そこに隠れた規則性を見つける使い方が広がりました。
出典:平成30年度 春期 システム監査技術者試験 午前Ⅱ 問22
同じ用語が出る問題
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)