liguofeng29’s blog

個人勉強用ブログだっす。

デザインパターン - INDEX

 

デザインパターン用途
Iterator  集合体を順次走査したい。
 走査部分を外部クラス化できる。
Adapter  インタフェースを強制的に変換できる。
Template Method  テンプレート機能を持つ。
 ロジックの共通化がだきる。
Factory Method  インスタンスの作成をサブクラスに任せる。
 インスタンスの作り方は決めているが、クラス名、具体的な肉付けはサブクラスで行う。
Singleton  一つのインスタンスだけを生成したい。
応用技として生成されるインスタンス数を制御できる。
Prototype  コピーしてインスタンスを作成する。
 複雑な過程を通して作成されたインスタンスの場合(絵、長い文章など)使用する。
Bulder  同じ過程(ディレクター)で違う素材で色んなインスタンスが作成できる。
Abstract Factory  抽象工場で抽象部品を使って抽象製品を作るって。
Bridge  機能と実装の分離ができる。
Stratege  戦略の切り替えが容易にできる。
Composite 再帰処理が容易にできる。
Decorator 飾り枠と中身を同一視する。
Visitor 受け入れ(データ構造)と訪問者(処理)を分離させる。
Chain of Responsibility 責任者(処理する人)を鎖状で設定し、いずれか処理されるパターン。
Facade 「窓口」を用意しておいて、 個別にたくさんのクラスを制御しなくても、
「窓口」に対して、要求するだけですみます。
なんとかserviceクラスに相当するかな。
Mediator 複数のオブジェクトは仲介者(Mediator)と相談し、
仲介者(Mediator)は複数のオブジェクトにアドバイスする。
Observer 自分の状態の他のオブジェクトに通知する。
Memento インスタンスの状態を保存、復旧する。
Stats 状態をクラスと表現し、状態による違う振る舞いができる。
Flyweight インスタンスを共有することで、メモリ節約ができる
Proxy
代理人オブジェクトと本人オブジェクトを作成し、
本人でしかできない処理以外は代理人オブジェクトが行う。
Command 要求をオブジェクトとする。
Interpreter