Tags
413 ページ目
Moo
注文ハンドラが厨房の段取りを全部知っていて、厨房の変更が波及する。窓口を1つ挟む【Facade】
注文と取り消しが手続きで散らばり、やり直しも履歴も持てない。操作を部品にして undo を持たせる【Command】
コースの中にコースが入ると料金計算が崩れる。単品もセットも同じ顔で扱って合計する【Composite】
外部モジュールの内部仕様に頼るコードが3サービスに散って、仕様変更で修正漏れ。変換役を1か所に置く【Adapter】
トッピングを足すたびに cost と describe の2か所を直す。包んで機能を重ねる【Decorator】
通知の生成コードが複数サービスに散らばって修正漏れ。new する判断を窓口に集める【Factory Method】
日報生成クラス3種が同じ手順をコピペ、直すと修正漏れが出る。共通の流れを親クラスにまとめる【Template Method】
注文ステータスが変わるたびに全ステーションへ手で通知している。登録した相手へ自動で伝える【Observer】
空席のはずの席が「会計待ち」になる。bool フラグの組み合わせをやめて状態を部品にする【State】
割引の if/elsif が膨らんで、触るのが怖い。割引ごとの部品に分けて差し替える【Strategy】
コードシェフの仕込み帳 シリーズ目次【困りごとから探す案内板】
あらゆる処理を1つのクラスが抱え込み、直すたびに全体が揺れる。責務ごとに分けて委譲する【God Class】
消費税率を直すだけで15ファイルを開く羽目になった。税率を1つのクラスに集める【Shotgun Surgery】
実装が1つしかない抽象クラスと、一度も使わないオプションが残っている。将来のための設計を消す【Speculative Generality】
テストのたびにモックを登録してリセットする。ServiceLocator をやめ、依存をコンストラクタで受け取る【Service Locator】
1
2
3
4
…
28