Featured image of post コードシェフの仕込み帳【Abstract Factory】厨房セットをそっくり入れ替える〜本番・テスト・開発の部品生成が散らばるコードを、ファクトリ一つの差し替えで一式切り替える〜

コードシェフの仕込み帳【Abstract Factory】厨房セットをそっくり入れ替える〜本番・テスト・開発の部品生成が散らばるコードを、ファクトリ一つの差し替えで一式切り替える〜

staging追加時にMailer分岐を書き漏らしアラートが届かなかった問題。Abstract FactoryパターンをPerlとMooで実装し、AppFactoryロールが環境ごとのLoggerとMailerを一式提供する設計へ直す。

Featured image of post コードシェフの仕込み帳【Memento】仕込み直し〜変更前の状態を呼び出し側がコピーするコードを、Originatorが自分のスナップショットを切り出す構造へ直す〜

コードシェフの仕込み帳【Memento】仕込み直し〜変更前の状態を呼び出し側がコピーするコードを、Originatorが自分のスナップショットを切り出す構造へ直す〜

レシピ管理アプリで呼び出し側が変更前の状態を手でコピーし、serving_size 追加時に一箇所コピー漏れが出た問題。MementoパターンをPerlとMooで実装し、RecipeがRecipeMementoにスナップショットを保存し、RecipeHistoryがスタックで管理する構造へ直す。

Featured image of post コードシェフの仕込み帳【Mediator】ホール担当〜3つのステーションが互いを直接参照するコードを、全員が仲介役だけを知るスター型構造へ直す〜

コードシェフの仕込み帳【Mediator】ホール担当〜3つのステーションが互いを直接参照するコードを、全員が仲介役だけを知るスター型構造へ直す〜

キッチン管理システムで GrillStation・FryStation・DrinkCounter が互いを直接保持し、ステーション追加のたびに全クラスを修正する問題。MediatorパターンをPerlとMooで実装し、全員が KitchenCoordinator だけを知るスター型構造へ直す。