Categories
286 ページ目
Tech
通知のサブクラスが30個超、SMSを足せばまた増える。機能を重ね着で組み合わせる【Decorator】
帳票に項目を1つ足したら、17種類の出力が次々に壊れた。原型を複製して作る【Prototype】
引数12個のコンストラクタで1個ずれ、10万円の本番事故。名前を付けて組み立てる【Builder】
新旧システムでメソッド名もデータの形も違い、if分岐が溜まる。変換役を挟む【Adapter】
ステータスを1つ足したら、無関係な出荷処理でバグが続発。状態ごとにクラスを分ける【State】
通知手段を足すたびに、決済ロジックの中のnewを書き換える。生成を工場に移す【Factory Method】
他チームのクラスの内部を直接読み、キー名の変更でAPIが全滅。代理人越しに触る【Proxy】
トークンの期限を変えただけで、全APIが認証エラーで落ちた。チェックを鎖に分ける【Chain of Responsibility】
失敗してDBは戻せても、決済APIの課金は取り消せない。操作に取り消しを持たせる【Command】
1クラスが全サブシステムを直接呼び、仕様変更1つでエラーが連鎖。窓口を立てる【Facade】
引数10個の関数が5階層、IDの順番を取り違えた。引数を1つにまとめる【Parameter Object】
夜間バッチを並列にしたら、テストの処理が本番DBを書き換えた。接続を外から渡す【Singleton/DI】
割引ルールを足すたび数千行のServiceを直す。計算をデータの側へ戻す【Tell, Don't Ask】
JSONで年齢が文字列になり、電話番号の先頭の0が消える。値を専用のクラスで包む【Value Object】
0〜3の数字で持つ注文状態、発送済みにキャンセルが通った。状態をクラスにする【State】
1
…
15
16
17
…
20