春のセール

振る舞いに関するデザインパターン

振る舞いに関するデザインパターンは アルゴリズムやオブジェクト間の責任の分担に関するものです

Chain of Responsibility Chain of Responsibility

ハンドラーの連鎖に沿ってリクエストを渡すことができます 各ハンドラーは リクエストを受け取ると リクエストを処理するか 連鎖内の次のハンドラーに渡すかを決めます

Command Command

リクエストを それに関するすべての情報を含む独立したオブジェクトに転換します この転換により リクエストをメソッドの引数として渡したり リクエストの実行を遅らせたり 待ち行列に入れたり 取り消し操作を行なうことが可能になります

Iterator Iterator

リスト スタック ツリーなどの実際のデータ表現を表に出さずにコレクションの要素を探索することができます

Mediator Mediator

オブジェクト間の混沌とした依存性を削減します パターンは オブジェクト間の直接の通信を制限し メディエーター・オブジェクトを介してのみの共同作業を強制します

Memento Memento

オブジェクトの以前の状態を保存し復元することを 実装の詳細を明かさずに行います

Observer Observer

複数のオブジェクトが観察しているオブジェクトに何かイベントが発生した時にそのイベントについて観察しているオブジェクトへ通知を行うサブスクリプションの仕組みを定義することができます

State State

オブジェクトの内部状態が変化した時に その挙動を変化させます それは あたかもそのオブジェクトのクラスが変わったかのように見えます

Strategy Strategy

アルゴリズムのファミリーを定義し それぞれのアルゴリズムを別個のクラスとし それらのオブジェクトを交換可能にします

Template Method Template Method

スーパークラス内でアルゴリズムの骨格を定義しておき サブクラスは構造を変えることなくアルゴリズムの特定のステップを上書きします

Visitor Visitor

アルゴリズムをその動作対象となるオブジェクトから切り離します