平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問5

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

解答・解説

正解: イ. オブジェクト指向開発のためのパターンとして生成,構造,振る舞いの三つのカテゴリで分類される。

正解は イ です。

GoF(Gang of Four)のデザインパターンは、オブジェクト指向開発における典型的な問題とその解決策(設計のノウハウ)を23個のパターンとしてまとめたものです。これらのパターンは、目的や役割に応じて以下の3つのカテゴリに分類されます。

  1. 生成(Creational)に関するパターン:オブジェクトの生成方法を柔軟にするパターン(Singleton、Factory Methodなど)
  2. 構造(Structural)に関するパターン:クラスやオブジェクトを組み合わせてより大きな構造を作るパターン(Adapter、Compositeなど)
  3. 振る舞い(Behavioral)に関するパターン:オブジェクト間のやり取りや責任の割り当てに関するパターン(Iterator、Observerなど)

各選択肢の解説

  • ア:Java言語に特化したイディオムや実装パターンの説明であり、特定のプログラミング言語に依存しないGoFのデザインパターンの説明ではありません。
  • イ:正解です。GoFのデザインパターンは、オブジェクト指向開発のためのパターンとして生成、構造、振る舞いの三つのカテゴリで分類されます。
  • ウ:ソフトウェアアーキテクチャにおけるPOSA(Pattern-Oriented Software Architecture)のアーキテクチャパターンの分類に関する説明であり、GoFのデザインパターンではありません。
  • エ:LayersやBrokerなどは、システム全体の構造を定義するアーキテクチャパターン(POSAなど)に含まれるものであり、GoFのデザインパターンではありません。

Spineチーム