「Perlで作る注文フローの国別キット」シリーズの目次です。
このシリーズでは、ECサイトの注文フローを題材に、決済・配送・通知といった複数の処理を一貫したセットとして管理するAbstract Factoryパターンを学びます。
シリーズ概要
- 対象読者: Mooの基礎を習得し、Factory Methodパターンを学んだ方
- 技術スタック: Perl v5.36以降、Moo
- 学習目標: 製品ファミリの一貫性を保つ設計パターンを理解し、適用判断ができるようになる
記事一覧
国内市場向けの注文フローを決済・配送・通知の3クラスで実装し、シンプルな連携を体験します。
海外市場対応を追加すると、if/elseが増殖し可読性が低下する問題を体験します。
国内配送に海外決済が紛れ込む組み合わせミスで手数料計算が狂い、業務事故が発生する様子を体験します。
OrderFlowFactoryロールを定義し、製品ファミリを一括生成する仕組みを導入します。
DomesticOrderFlowFactoryとGlobalOrderFlowFactoryを実装し、製品ファミリの一括生成を完成させます。
OrderProcessorクラスをFactory依存に変更し、依存性注入(DI)で柔軟な設計を実現します。
EU市場を追加し、既存のOrderProcessorやFactoryを変更せずに拡張できることを確認します。
返品処理を追加すると全Factoryの改修が必要になる問題を検証し、Abstract Factoryパターンの適用判断基準を明らかにします。
シリーズのポイント
- 動く実装から始めて、徐々に問題を体験する
- 製品ファミリの不一致による業務事故を再現
- Abstract Factoryパターンで一貫性を保証
- OCPとSRPの衝突を体験し、パターンの限界を理解
