障害サービスへの無限リトライがカスケード障害を引き起こすメカニズムを解剖し、Circuit BreakerパターンのClosed/Open/Half-Open 3状態管理で障害伝播を断ち切る方法をPerl/Mooで解説。
分散環境でObserverの直接呼び出しが引き起こす障害連鎖を、Publish-Subscribeパターンで解消する方法をPerl/Mooで解説。通知パターンの進化系譜を辿るアーク総括回。
DB更新とイベント送信の非原子的な二重書き込みを、Outboxパターンで解消する方法をPerl/Mooで解説。Sagaの各ステップに信頼性の土台を敷く続編回。
分散トランザクション(2PC)で決済タイムアウト時に在庫が宙に浮く300件の幽霊注文を、Saga Patternのexecute/compensateペアとOrchestrator逆順補償で構造的に解決する。Perl/Mooでの実装とテストを解説。
帳票×出力形式のif-elsif連鎖でCSV出力に発注書の分岐漏れが発生。Double Dispatchのaccept/visit二段構えとMoo::Role requiresで追加漏れをクラス構築時に検出する実装を解説。
500行の神メソッドに全処理が詰まり、1行直すと無関係な箇所が壊れる——その構造的原因をPipeline Patternで解消する。Perl/MooでStage Roleを定義し、各ステージを独立オブジェクト化、テスト可能な設計への変換を実装付きで解説。
浮動小数点数での金額計算による1円の誤差と、通貨コードの分離による異通貨加算バグを、Money Value Objectで構造的に解決する。Perl/Mooでの整数セント表現、演算子オーバーロード、通貨不一致検出まで実装付きで解説。
渡したオブジェクトが知らない間に書き換えられるAliasing Bugを、Immutable Object(不変オブジェクト)で構造的に解決する。Perl/Mooでのis => 'ro'、witherパターン、MooX::StrictConstructor、浅い不変性の罠まで実装付きで解説。
同じ住所がeqでfalse、同じIDなのに属性更新でfalse——2つの比較バグの正体はEntityとValue Objectの混同だった。Perl/Mooでoverloadによる等価性・同一性の正しい実装法を解説する。
営業・配送・経理で異なる意味を持つ「顧客」を単一モデルで表現して崩壊した事件。Bounded Contextで境界を定め、Perl/Mooの名前空間分離とShared Kernelで解決する。
注文確定時の副作用(メール・在庫・ポイント)が1メソッドに密結合した問題を、Domain Eventパターンで「何が起きたか」を不変オブジェクトとして記録しディスパッチャーで疎結合化するリファクタリング事例をPerl/Mooで解説
注文と注文明細がバラバラに操作され金額不整合が頻発する問題を、Aggregate RootのOrderが整合性の門番となり子要素への操作を一元管理するリファクタリング事例をPerl/Mooで解説
evalで文字列ルールを実行するキャンペーンエンジンの脆弱性を、Interpreterパターンで文法をオブジェクトツリー化し安全に評価する手法をPerl/Mooで解説
新機能追加のたびにコアのif/elsifチェーンを変更しリグレッションが頻発する問題を、Moo::Roleによるプラグインインターフェースと動的登録で「コアを閉じたまま拡張する」Plugin Patternで解決するリファクタリング事例
商品カテゴリ追加のたびにサブクラスが増殖する問題を、Type Objectパターンで型をデータに還し、YAMLからの動的追加とメソッド委譲で解決するリファクタリング事例