CQRS と Event Sourcing: 読み書きを分ける設計と、履歴を正本にする設計
読み取りと書き込みでモデルを分ける CQRS と、状態でなくイベントの列を正本にする Event Sourcing を、実際に組むとテーブルとコードがどうなるかまで降ろします。イベントストアのテーブル設計、複合一意制約による並行制御、集約の再構成とスナップショット、プロジェクションが読んだ位置をどう覚えるかを扱います。
読み取りと書き込みでモデルを分ける CQRS と、状態でなくイベントの列を正本にする Event Sourcing を、実際に組むとテーブルとコードがどうなるかまで降ろします。イベントストアのテーブル設計、複合一意制約による並行制御、集約の再構成とスナップショット、プロジェクションが読んだ位置をどう覚えるかを扱います。
アプリケーション層 (ユースケース層) の設計を解説。ドメインオブジェクトの調整・トランザクション管理・入出力変換の責務、CQS 原則による Command / Query 分離、Command オブジェクトと DTO、Query 専用サービス、単一責任などの設計指針をまとめます。