システムアーキテクト試験 2022年 午前202


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

解説

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

要点まとめ

  • 結論:GoFのデザインパターンは「生成」「構造」「振る舞い」の三つのカテゴリに分類されるオブジェクト指向開発のパターンである。
  • 根拠:GoF(Gang of Four)とは、デザインパターンの古典的な体系を示した4人の著者による書籍で、オブジェクト指向設計の基本パターンを体系化している。
  • 差がつくポイント:GoFパターンの分類と目的を正確に理解し、他のパターン体系や言語固有のパターンと混同しないことが重要である。

正解の理由

選択肢イは、GoFのデザインパターンの特徴を正確に表しています。GoFは「生成パターン」「構造パターン」「振る舞いパターン」の3つのカテゴリに分類し、オブジェクト指向設計における再利用性や柔軟性を高めるための典型的な設計手法を示しています。これに対し、他の選択肢はGoFの定義や分類と異なる内容を述べているため誤りです。

よくある誤解

GoFパターンはJava固有のものではなく、言語に依存しない設計パターンの体系です。構造や分類もGoFの定義に基づく三分類が基本であり、他の分類体系と混同しやすい点に注意が必要です。

解法ステップ

  1. 問題文の「GoFのデザインパターン」に注目する。
  2. GoFとは「Gang of Four」の略で、4人の著者が提唱したデザインパターンの体系であることを思い出す。
  3. GoFのパターンは「生成」「構造」「振る舞い」の3カテゴリに分類されることを確認する。
  4. 選択肢の説明とGoFの定義を照合し、正しい説明を選ぶ。
  5. 他の選択肢がGoFの定義と異なる点を確認し、誤りを排除する。

選択肢別の誤答解説

  • ア: Java固有のパターンや引数オブジェクトの説明はGoFの定義に含まれず誤り。GoFは言語非依存の設計パターン集である。
  • : 正解。GoFのデザインパターンはオブジェクト指向開発のためのパターンで、生成・構造・振る舞いの3カテゴリに分類される。
  • ウ: 「構造、分散システム、対話型システム及び適合型システム」という分類はGoFのものではなく、別のパターン体系の可能性がある。
  • エ: LayersやBrokerなどの用語はアーキテクチャパターンに近く、GoFのデザインパターンの分類とは異なる。

補足コラム

GoFのデザインパターンは1994年に発表された「Design Patterns: Elements of Reusable Object-Oriented Software」という書籍で体系化されました。代表的なパターンには「Singleton(生成)」「Adapter(構造)」「Observer(振る舞い)」などがあり、ソフトウェア設計の基礎として広く活用されています。これらは言語に依存せず、設計の問題解決に役立つ汎用的な知識です。

FAQ

Q: GoFのデザインパターンはどのような目的で使われますか?
A: ソフトウェア設計の再利用性や保守性を高め、共通の設計課題を効率的に解決するために使われます。
Q: GoFのパターンはどのプログラミング言語でも使えますか?
A: はい。GoFのパターンは言語非依存であり、オブジェクト指向をサポートする多くの言語で適用可能です。

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

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