平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問5
ソフトウェアパターンのうち,GoFのデザインパターンの説明はどれか。
解答・解説
正解: イ. オブジェクト指向開発のためのパターンとして生成,構造,振る舞いの三つのカテゴリで分類される。
正解は イ です。
GoF(Gang of Four)のデザインパターンは、オブジェクト指向開発における典型的な問題とその解決策(設計のノウハウ)を23個のパターンとしてまとめたものです。これらのパターンは、目的や役割に応じて以下の3つのカテゴリに分類されます。
- 生成(Creational)に関するパターン:オブジェクトの生成方法を柔軟にするパターン(Singleton、Factory Methodなど)
- 構造(Structural)に関するパターン:クラスやオブジェクトを組み合わせてより大きな構造を作るパターン(Adapter、Compositeなど)
- 振る舞い(Behavioral)に関するパターン:オブジェクト間のやり取りや責任の割り当てに関するパターン(Iterator、Observerなど)
各選択肢の解説
- ア:Java言語に特化したイディオムや実装パターンの説明であり、特定のプログラミング言語に依存しないGoFのデザインパターンの説明ではありません。
- イ:正解です。GoFのデザインパターンは、オブジェクト指向開発のためのパターンとして生成、構造、振る舞いの三つのカテゴリで分類されます。
- ウ:ソフトウェアアーキテクチャにおけるPOSA(Pattern-Oriented Software Architecture)のアーキテクチャパターンの分類に関する説明であり、GoFのデザインパターンではありません。
- エ:LayersやBrokerなどは、システム全体の構造を定義するアーキテクチャパターン(POSAなど)に含まれるものであり、GoFのデザインパターンではありません。