🐺
デザインパターンまとめ
概要
デザインパターンの勉強がてら、「Java言語で学ぶデザインパターン入門」を読んでみた。
書籍でも紹介されている、GoF(the Gang of Four)が作成した23個のデザインパターンについてメモがてら残す。
まずは慣れる
デザインパターンは結構複雑なものもあるためやりやすいところから始める。
Gofによるデザインパターンの分類
GoFではデザインパターンを以下のように分類している
生成に関するパターン
- Factory Method - インスタンス作成をサブクラスに任せる -
- Singleton - たった一つのインスタンス -
- Prototype - コピーしてインスタンスを作成する -
- Builder - 複雑なインスタンスを組み立てる -
- Abstract Factory - 関連するパーツを組み合わせて製品を作る -
構造に関するパターン
- Adapter - 再利用 -
- Bridge - 機能の階層と実装の階層を分ける -
- Composite - 容器と中身の同一視 -
- Decorator - 飾り枠と中身の同一視 -
- Facade - シンプルな窓口 -
- Flyweight - 同じものを共有して無駄をなくす -
- Proxy - 必要になってから作る -
振る舞いに関するパターン
- Iterator - 処理を繰り返す -
- Template Method - 具体的な処理をサブクラスに任せる -
- Strategy - アルゴリズムをごっそり切り替える -
- Visitor - 構造を渡り歩きながら仕事をする -
- Chain of Responsibility - 責任のたらい回し -
- Mediator - 相手は相談役一人だけ -
- Observer - 状態の変化を通知する -
- Memento - 状態を保持する -
- State - 状態をクラスとして表現する -
- Command - 命名をクラスにする -
- Interpreter - 文法規則をクラスで表現する -
Discussion