GoFのデザインパターン|情報処理安全確保支援士 令和6年 秋期午前Ⅱ試験 問22

出典:令和6年秋期 午前Ⅱ 問22 分野:システム開発技術 / 設計
ソフトウェアパターンのうち,GoFのデザインパターンの説明はどれか。
  • ア:Javaのパターンとして,引数オブジェクト,オブジェクトの可変性などで構成される。
  • イ:オブジェクト指向開発のためのパターンであって,生成,構造,振る舞いの三つのカテゴリに分類される。
  • ウ:構造,分散システム,対話型システム及び適合型システムの四つのカテゴリに分類される。
  • エ:抽象度が異なる要素を分割して階層化するためのLayers,コンポーネント分割のためのBrokerなどで構成される。
解説

GoFのデザインパターンは、オブジェクト指向設計でよく現れる設計上の問題に対する解決策を整理したものです。

GoFの23個のデザインパターンは、生成に関するパターン・構造に関するパターン・振る舞いに関するパターンの三つのカテゴリに分類されます。

パターン 内容
生成 ・Abstract Factory ・Builder ・Factory Method ・Prototype ・Singleton
構造 ・Adapter ・Bridge ・Composite ・Decorator ・Facade ・Flyweight ・Proxy
振る舞い ・Chain of Responsibility ・Command ・Interpreter ・Iterator ・Mediator ・Memento ・Observer ・State ・Strategy ・Template Method ・Visitor

したがって、イが適切です。

❌他選択肢が誤りの理由
ア:Javaのパターンとして,引数オブジェクト,オブジェクトの可変性などで構成される。
⇒GoFのデザインパターンの説明ではありません。GoFはJava固有のパターンではなく、オブジェクト指向設計に関する汎用的なパターンです。
ウ:構造,分散システム,対話型システム及び適合型システムの四つのカテゴリに分類される。
⇒GoFではなく、アーキテクチャパターンの分類に関する説明です。GoFは生成・構造・振る舞いの三分類です。
エ:抽象度が異なる要素を分割して階層化するためのLayers,コンポーネント分割のためのBrokerなどで構成される。
⇒LayersやBrokerはアーキテクチャパターンの例です。GoFのデザインパターンには該当しません。
TSUNAGARU-ADVICE

まず押さえたいこと

GoFのデザインパターンは、オブジェクト指向開発でよく現れる設計上の課題に対する解決策を整理したもので、生成、構造、振る舞いの三つのカテゴリに分類されます。

迷ったときの判断軸

GoFのパターンは、Factory MethodやSingletonのような生成に関するもの、AdapterやCompositeのような構造に関するもの、ObserverやStrategyのような振る舞いに関するものに分けられます。したがって、オブジェクト指向開発の設計パターンとして整理すると判断しやすくなります。

科目Bにつなげるために

GoFのデザインパターンそのものは、支援士試験の科目Bで中心的に問われる可能性は高くありません。科目Aでは、生成・構造・振る舞いの三つに分類されることを整理しておけば十分です。科目B対策では、セキュア設計・脅威分析・入力値検証・認証や認可の設計など、セキュリティ要件をシステム設計へ反映するための考え方を優先しましょう。