ペット プロジェクトに CQRS を適用しようとしています。私の例ではFoodとがありCourseます。
コースは、さまざまな食品の多くのアイテムで構成されています。
私の設計では、次のコマンドがあります。
AddFoodToCourse ChangeFoodQuantityInCourse等...
CourseCommandHandler を作成すると、コースを変更するために ICourseRepository を依存関係として取得しますが、コマンドをシンプルに保つために、Food の代わりに CourseId および FoodId プロパティを使用します。
ハンドラーでは、ID のみを管理し、リポジトリからすべての関連データを取得すると思いますか?
正しく理解している場合、アプリは次のワークフローに従う必要があります。
使用ReadModel=>コマンドを作成してバスに送信=>CommandHandlerコマンドを消費し、オブジェクトを操作しdomain objectて保存repositories=>Domain objectsイベントを発生させてバスに発行=>EventHandlerイベントを消費してReadModelオブジェクトを変更