Engineer Rashinban · Patterns
デザインパターン・プレイグラウンド
パターンを切り替えると、振る舞いが目に見えて変わります。記事で読んだ GoF パターンを、短いデモで体感してください。
Strategy
Strategy
料金の計算方法だけを差し替える
アルゴリズムを差し替える
デモを開く →
State
State
今の状態で「次に許す操作」を決める
状態ごとに振る舞いを変える
デモを開く →
Observer
Observer
発行と反応を切り離して通知する
状態変化を購読者へ通知する
デモを開く →
Decorator
Decorator
トッピングを好きなだけ重ねて拡張する
機能を重ねて拡張する
デモを開く →
Factory Method
Factory Method
通知の「作り方」を一箇所に閉じ込める
生成の知識を閉じ込める
デモを開く →
Builder
Builder
必須/任意が混ざったリクエストを、メソッドチェーンで組み立てる
複雑なオブジェクトを段階的に組み立てる
デモを開く →
Template Method
Template Method
レポート生成の手順は固定のまま、本体の書式だけ差し替える
処理の骨格は固定し、一部だけ差し替える
デモを開く →
Adapter
Adapter
呼び出し側は変えずに、既存の非互換なクラスを変換して使う
インターフェースの違いを変換して合わせる
デモを開く →