最近、DDDとCQRS(イベントソーシングなし)の両方の概念を使用してアプリの開発を開始しました。集約ルートを永続化するためにリポジトリを正確に呼び出す場所については、まだ多少混乱しています。
コマンドハンドラー内で実行しますか、それともイベントハンドラー内で実行しますか?
最近、DDDとCQRS(イベントソーシングなし)の両方の概念を使用してアプリの開発を開始しました。集約ルートを永続化するためにリポジトリを正確に呼び出す場所については、まだ多少混乱しています。
コマンドハンドラー内で実行しますか、それともイベントハンドラー内で実行しますか?
これは、コマンドハンドラー内で行います。ドメインオブジェクトは通常どおり保存します。ドメインエンティティを永続化する手段としてイベントソーシングを使用していない場合でも、クエリサービスがサブスクライブするイベントを発生させる必要があります。次に、読み取り側のイベントハンドラーは、UI画面用に調整された非正規化テーブルを更新します。つまり、基本的に2セットのデータアクセスコードがあります。1つはドメイン用、もう1つはクエリサービス(読み取り側)用です。イベントソーシングを利用してドメインエンティティを永続化する場合は、作業が少なくなります...