GoFのデザインパターン

更新日:

用語解説

デザインパターンは、ソフトウェアの設計で繰り返し現れる問題に対する、実績のある解決の型を、名前を付けて整理したものです。GoF(Gang of Four)の23のパターンが有名です。

■ 試験で押さえるポイント

  • オブジェクトの生成、構造、振る舞いに関するパターンに分類されます。

  • パターンの名前を使うと、設計の意図を共通の言葉で伝えられます。

  • 完成したプログラムの部品ではなく、状況に合わせて使う設計のひな型です。

分類

パターン

役割

生成

Singleton

クラスのインスタンスを1つだけにする

生成

Factory Method

どのクラスを生成するかをサブクラスに任せる

構造

Adapter

合わないインタフェースを変換して使えるようにする

構造

Composite

容器と中身を同じように扱い、木構造を作る

構造

Decorator

オブジェクトを包んで、機能を後から付け足す

構造

Facade

複雑な仕組みに、簡単な窓口を1つ用意する

構造

Proxy

代理のオブジェクトが、アクセスの制御などを行う

振る舞い

Strategy

処理の方法(アルゴリズム)を交換できるようにする

振る舞い

Observer

状態が変わったことを、登録した相手に通知する

振る舞い

Template Method

処理の骨組みを親クラスで決め、細部を子クラスで決める

振る舞い

Iterator

中身の構造を知らなくても、要素を順にたどれる

振る舞い

State

状態ごとに振る舞いを切り替える

■ 過去問での着眼点

合わない状況で無理に使うと、設計が複雑になります。問題に合うかを確認して使います。

例: 支払の方法を切り替えられるように、共通のインタフェースで方法を交換できるようにするのがStrategyパターンです。

音声で聞く