Tags
221 ページ目
Refactoring
新しい操作を足すたびに全部の食材クラスを改修している。操作を別クラスに出して巡回させる【Visitor】
メニューを足すたびにクラスファイルが倍々に増える。調理法と食材の2軸に分けて組み合わせる【Bridge】
staging を足したら Mailer の分岐を書き漏らし、アラートが届かなかった。環境ごとの部品を一式で差し替える【Abstract Factory】
変更前の状態を呼び出し側が手でコピーしていて、項目追加でコピー漏れ。スナップショットは本人に切り出させる【Memento】
ステーション3つが互いを直接持ち合い、1つ足すたびに全クラスを直す。仲介役だけを知る形にする【Mediator】
undef チェックが3つの関数に散らばり、書き忘れで実行時エラー。「何もしない」オブジェクトで置き換える【Null Object】
権限チェックとキャッシュが3つの呼び出し元に散らばり、書き忘れでセキュリティバグ。同じ窓口を持つ代理に任せる【Proxy】
店舗ごとに承認フローの関数をコピーして、閾値の変更が反映されない。限度額を持つ担当をつなぐ【Chain of Responsibility】
注文履歴の中身を配列からファイルに変えたら、使うコードが全部壊れた。1件ずつ渡す窓口を作る【Iterator】
弁当注文のルーティングが2か所に重複し、検証の書き忘れでバグが出た。振り分けを詰め役にまとめる【Builder】
注文ハンドラが厨房の段取りを全部知っていて、厨房の変更が波及する。窓口を1つ挟む【Facade】
注文と取り消しが手続きで散らばり、やり直しも履歴も持てない。操作を部品にして undo を持たせる【Command】
コースの中にコースが入ると料金計算が崩れる。単品もセットも同じ顔で扱って合計する【Composite】
外部モジュールの内部仕様に頼るコードが3サービスに散って、仕様変更で修正漏れ。変換役を1か所に置く【Adapter】
トッピングを足すたびに cost と describe の2か所を直す。包んで機能を重ねる【Decorator】
1
…
6
7
8
…
15