問22 GoF のデザインパターン

情報処理​安全確保​支援士 令和6年度 秋期 午前II、全25問のうちの問22。

出典:令和6年度 秋期 情報処理安全確保支援士試験 午前II 問22

ソフトウェアパターンのうち,GoF のデザインパターンの説明はどれか。

  1. アJava のパターンとして,引数オブジェクト,オブジェクトの可変性などで構成される。
  2. イオブジェクト指向開発のためのパターンであって,生成,構造,振る舞いの三つのカテゴリに分類される。
  3. ウ構造,分散システム,対話型システム及び適合型システムの四つのカテゴリに分類される。
  4. エ抽象度が異なる要素を分割して階層化するための Layers,コンポーネント分割のための Broker などで構成される。
答えと解説を開く

正解はイです。

GoF (Gang of Four) のデザインパターンは、4 人の著者がまとめた、オブジェクト指向の設計でよく出てくる 2⁠3 の型です。生成 (Factory Method、Singleton など)、構造 (Adapter、Composite など)、振る舞い (Observer、Strategy など) の 3 つのカテゴリに分けられています。正解はイです。

ほかの選択肢が違う理由

  • アGoF のパターンは Java に限った物ではありません。引数オブジェクトやオブジェクトの可変性は、GoF の 2⁠3 の型に入っていません。
  • ウ構造、分散システム、対話型システム、適合型システムという分け方は、POSA (Pattern-⁠Oriented Software Architecture) のアーキテクチャパターンの分類です。
  • エLayers や Broker は、POSA のアーキテクチャパターンです。GoF のデザインパターンではありません。

仕組み

デザインパターンの値打ちは、設計の考えを短い名前で伝え合えることです。「ここは Observer で」と言えば、仕組みを一から説明しなくても話が通じます。

一方で、型に当てはめること自体が目的になると、必要のない複雑さが増えます。困りごとがあって、それを解く型があるときに使うものです。

この問に出る言葉