「コードシェフの仕込み帳」は、厨房の仕込みに見立てて、GoFデザインパターンによるリファクタリングを描く連載です。
全話一覧
- コードシェフの仕込み帳【Strategy】闇鍋の割引計算〜注文ごとにレシピを差し替える〜
- コードシェフの仕込み帳【State】空席のはずが会計待ち〜boolフラグの台帳を、席に仕事をさせて直す〜
- コードシェフの仕込み帳【Observer】走って伝える注文変更〜通知先を登録すれば、足で回らなくてよい〜
- コードシェフの仕込み帳【Template Method】仕込み帳を三冊書くな〜コピペした手順の修正漏れを、親クラスの骨格で一本化する〜
- コードシェフの仕込み帳【Factory Method】伝票は窓口に渡すだけでいい〜
newする判断を呼び出し側から切り離し、追加が担当窓口の新設だけで済む設計へ〜 - コードシェフの仕込み帳【Decorator】包んで一味足す〜トッピングのたびにフラグが増えるコードを、積み重ね可能な部品で整理する〜
- コードシェフの仕込み帳【Adapter】変換役を一か所に〜外部仕様への依存が散在するコードを、仲立ちクラス一枚で整理する〜
- コードシェフの仕込み帳【Composite】コースの中にコースがあっても〜単品とセットを if で分ける料金計算を、同じ顔で合計する〜
- コードシェフの仕込み帳【Command】戻せる手、戻せない手〜やり直しのきかない操作を、履歴を持つ部品にまとめる〜
- コードシェフの仕込み帳【Facade】注文は一言で十分だ〜注文ハンドラが厨房の段取りを全部知っているコードを、窓口クラス一枚で整理する〜
- コードシェフの仕込み帳【Builder】弁当の詰め方〜ルーティングループが2か所に重複する注文処理を、詰め人クラスひとつで整理する〜
- コードシェフの仕込み帳【Iterator】順に辿る道〜注文履歴の内部表現を知りすぎたコードを、一件ずつ渡す走査インターフェースで整理する〜
- コードシェフの仕込み帳【Chain of Responsibility】誰が受け取るか〜承認フローを焼き込んだコードを、連鎖するハンドラオブジェクトで整理する〜
- コードシェフの仕込み帳【Proxy】見えない守衛〜同じ問い合わせを毎回繰り返すコードを、本物と同じ窓口を持つ代理でまとめる〜
- コードシェフの仕込み帳【Null Object】何もしない会員〜
definedチェックが散らばったコードを、同じインターフェースを持つ「何もしない」オブジェクトで整理する〜 - コードシェフの仕込み帳【Mediator】ホール担当〜3つのステーションが互いを直接参照するコードを、全員が仲介役だけを知るスター型構造へ直す〜
- コードシェフの仕込み帳【Memento】仕込み直し〜変更前の状態を呼び出し側がコピーするコードを、Originatorが自分のスナップショットを切り出す構造へ直す〜
- コードシェフの仕込み帳【Abstract Factory】厨房セットをそっくり入れ替える〜本番・テスト・開発の部品生成が散らばるコードを、ファクトリ一つの差し替えで一式切り替える〜
- コードシェフの仕込み帳【Bridge】交わる格子を分ける包丁〜掛け合わせで増え続けるサブクラスを、二つの軸に仕分ける〜
- コードシェフの仕込み帳【Visitor】検査員は厨房に入れない〜食材の定義を汚さずに新しい操作を巡回させる〜
- コードシェフの仕込み帳【Prototype】秘伝 of ベーススープ〜newのたびにかかるコストをcloneで解決する〜
- コードシェフの仕込み帳【Flyweight】厨房を埋め尽くす伝票の山〜壁の品書きと一鍋のスープ〜
- コードシェフの仕込み帳【Singleton】ただ一つの秘伝のタレ〜並列の皿を汚すグローバル依存と器の仕込み〜
- コードシェフの仕込み帳【Interpreter】絡み合うレシピの呪文〜if文の泥沼を抜け出す式ツリーの仕込み〜
