システムアーキテクト試験 2017年 午前205


ソフトウェアパターンのうち、GoFのデザインパターンの説明はどれか。
Javaのパターンとして引数オブジェクト、オブジェクトの可変性などで構成される。
オブジェクト指向開発のためのパターンとして生成、構造、振る舞いの三つのカテゴリで分類される。(正解)
構造、分散システム、対話型システム及び適合型システムの四つのカテゴリで分類される。
抽象度が異なる要素を分割して階層化するためのLayers、コンポーネント分割のためのBrokerなどで構成される。

解説

ソフトウェアパターンのうち、GoFのデザインパターンの説明はどれか【午前2 解説】

要点まとめ

  • 結論:GoFのデザインパターンは生成、構造、振る舞いの三つのカテゴリで分類されるパターン群です。
  • 根拠:GoF(Gang of Four)とは、Erich Gammaら4人の著者が提唱したオブジェクト指向設計の代表的なパターン集であり、23種類のパターンが体系的に整理されています。
  • 差がつくポイント:GoFパターンはJava固有ではなく、オブジェクト指向設計全般に適用される点や、カテゴリ分類の理解が重要です。

正解の理由

選択肢イは「オブジェクト指向開発のためのパターンとして生成、構造、振る舞いの三つのカテゴリで分類される」とあり、これはGoFのデザインパターンの定義そのものです。GoFパターンはオブジェクトの生成方法、オブジェクト間の構造、オブジェクトの振る舞いに関する設計問題を解決するために分類されています。したがって、イが正解です。

よくある誤解

GoFパターンはJava固有のものではなく、言語に依存しない設計パターンの集合です。また、システム全体のアーキテクチャパターンとは異なり、クラスやオブジェクトの設計に焦点を当てています。

解法ステップ

  1. GoFとは何かを確認する(Gang of Fourの著者によるパターン集)。
  2. GoFパターンの分類を思い出す(生成、構造、振る舞いの3カテゴリ)。
  3. 選択肢の説明とGoFの定義を照合する。
  4. Java固有やシステム全体の分類はGoFパターンの説明と異なることを確認する。
  5. 正しい説明であるイを選択する。

選択肢別の誤答解説

  • ア: Java固有のパターンとする説明は誤り。GoFパターンは言語非依存であり、Java特有のものではありません。
  • : 正解。GoFパターンの基本的な分類と内容を正確に表しています。
  • ウ: システムのカテゴリ分類(構造、分散システム、対話型システム、適合型システム)はGoFパターンの分類ではありません。
  • エ: LayersやBrokerはアーキテクチャパターンの例であり、GoFのデザインパターンではありません。

補足コラム

GoFのデザインパターンは1994年に出版された「Design Patterns: Elements of Reusable Object-Oriented Software」で体系化されました。23のパターンは、ソフトウェア設計の再利用性や保守性を高めるためのベストプラクティスとして広く活用されています。代表的なパターンにはSingleton(生成)、Adapter(構造)、Observer(振る舞い)などがあります。

FAQ

Q: GoFパターンはどのプログラミング言語でも使えますか?
A: はい。GoFパターンは言語非依存で、オブジェクト指向の概念を持つ言語ならどれでも適用可能です。
Q: GoFパターンとアーキテクチャパターンの違いは何ですか?
A: GoFパターンはクラスやオブジェクトレベルの設計問題を解決するのに対し、アーキテクチャパターンはシステム全体の構造やコンポーネントの配置に関する設計指針です。

関連キーワード: GoF, デザインパターン, オブジェクト指向, 生成パターン, 構造パターン, 振る舞いパターン
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ