GoFのデザインパターンとは?ごふのでざいんぱたーん
GoFのデザインパターンとは、Gang of Fourと呼ばれる4人の著者が、再利用できるオブジェクト指向設計の定石を23個にまとめたカタログ。オブジェクトの作り方を扱う生成に関するパターン、クラスやオブジェクトの組み立て方を扱う構造に関するパターン、責務の配分と相互作用を扱う振る舞いに関するパターンという3つに分類される。
最終更新:2026-10-06
この語が出る過去問を解く →背景
経験を積んだ設計者は同じ問題に同じ解き方を当てていたが、それは暗黙知にとどまり、設計の良し悪しを議論する共通の語彙が存在しなかった。解法に名前を与えて分類したことで、設計レビューの場で「ここはファサードでまとめよう」と一語で通じるようになった。狙いは新奇な技法の発明ではなく、既にある知恵を伝達可能にすることにある。
具体例
Javaの標準ライブラリ自体が実例の集まりで、java.util.Iteratorはイテレータ、InputStreamをBufferedInputStreamで包む書き方はデコレータ、Swingのイベントリスナーはオブザーバに当たる。外部ライブラリのクラスを自システムが想定するインタフェースに合わせて包む場合はアダプタ、複雑なサブシステムへの入口を1つにまとめる場合はファサードを使う。
試験での引っ掛け
生成・構造・振る舞いの3分類と、対象がオブジェクト指向設計であることが識別点で、MVCのようなアーキテクチャパターンや業務領域をモデル化する分析パターンとは階層が違う。またシングルトンのように、当てはめると事実上のグローバル状態を生み、並行処理や単体テストで不利になるものもあり、使えば良い設計になるという道具ではない。
関連用語
出た過去問
出典:令和6年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22(IPA)
ソフトウェアパターンのうち,GoFのデザインパターンの説明はどれか。
正解:オブジェクト指向開発のためのパターンであって,生成,構造,振る舞いの三つのカテゴリに分類される。
要点:GoFは生成・構造・振る舞いの3分類からなる
GoF(Gang of Four)のデザインパターンは、オブジェクト指向設計で繰り返し現れる問題への定石を23個にまとめたもので、生成に関するパターン、構造に関するパターン、振る舞いに関するパターンの三つに分類される。クラスやオブジェクトの組み合わせ方という、比較的細かい粒度の設計を扱う点が特徴である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。