Tags
221 ページ目
Refactoring
通知手段を足すたびに、決済ロジックの中の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】
ポイント付与の機能を継承で組み合わせたら、機能3つで8クラス。外から重ねて足す【Decorator】
在庫更新を1か所直すと、メール通知やダッシュボードが止まる。通知で受け手を分ける【Observer】
CSV出力のバグを直すと、コピペした隣にも同じ修正が要る。手順を親にまとめる【Template Method】
形式を足すたび5000行のif-elsifに書き足す。形式ごとのクラスに分ける【Strategy】
20年物のレガシーをJSONで呼びたい、でも中身は1行も触れない。変換役を挟む【Adapter】
1
…
12
13
14
15