ソフトウェア開発とプロジェクト管理

GoFのデザインパターンのうち、あるオブジェクトの状態が変わったときに、それに依存する複数のオブジェクトへ自動で通知されるようにするパターンはどれか。

  1. AObserver
  2. BSingleton
  3. CAdapter
答えと解説を見る

正解:A. Observer

Observerパターンでは、通知する側(サブジェクト)が、通知を受けたいオブジェクト(オブザーバ)を登録しておき、状態が変わると登録されたすべてに知らせます。通知する側は相手の具体的なクラスを知らなくてよいので、結合度を弱く保てます。例えば、センサの値が変わったときに、表示・記録・警報の各処理へ知らせる設計に使えます。Singletonはクラスのインスタンスが1つだけになるようにするパターン、Adapterは合わないインタフェースを変換してつなぐパターンです。

  • A. 正しい。状態の変化を、登録された複数のオブジェクトへ通知します。
  • B. クラスのインスタンスが1つだけになるようにするパターンで、通知のしくみではありません。
  • C. インタフェースの合わないクラスどうしを、変換してつなぐパターンです。
この分野を解く 分野ページへ

関連する計算ツール

ソフトウェア開発とプロジェクト管理の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

ソフトウェア開発とプロジェクト管理のほかの問題

  1. ファームウェアのソースコードに静的解析ツールを使うとき、プログラムを実行せずに見つけやすい問題として、最も適切なものはどれか。
  2. ブラックボックステストの説明として、適切なものはどれか。
  3. 整数だけが入力される欄で、1以上100以下の値を受け付け、それ以外はエラーにする。同値分割で入力を分けたときの、同値クラスの数(有効同値クラスと無効同値クラスの合計)はどれか。
  4. 入場料金を年齢(0以上の整数)で決めるプログラムがあり、0〜17歳は子供料金、18〜64歳は一般料金、65歳以上はシニア料金とする。料金区分が変わる境目を確かめるために、境界値分析で選ぶテストの値の組合せとして、最も適切なものはどれか。
  5. 仕様は「温度が85 ℃以上なら警告を出す」だが、ファームウェアには誤って「if (t > 85)」と書かれていた。温度 t は整数とする。次のテストの値のうち、この誤りを見つけられるものはどれか。