ビデオ デマンド システムの一部であるアーカイブをモデル化しています。複数のユーザーがフォルダーの作成、ビデオのアップロード、フォルダーの再構築などを行うことができる Windows エクスプローラーのようなアーカイブを考えてみてください。ユーザーがタスク (フォルダーの名前変更、フォルダーの移動、フォルダーの表示など) を実行できるかどうかを決定するビジネス ルール (アクセス許可) があります。 )。
各フォルダーを集約ルートとしてモデル化し、あるフォルダーを別のフォルダーに移動すると、2 つの集約ルートに影響するように見えます。
私が理解していることから、イベントを送信して他の集計を変更する必要があります。ただし、2 番目のフォルダーも変更された場合 (システムから削除または削除された場合など)、最初の集計の変更を元に戻すには、補正コマンドを送信する必要があります。
移動 (両方の集計での変更) を一緒に処理するある種のトランザクションを好みます。それが失敗した場合、少なくとも移動の最初の部分を元に戻したり、イベントの最初の部分を発生させたりする必要はありません。
これにより、CQRSは私が解決しようとしている問題に適していますか? もしそうなら、私の集計が間違っている可能性がありますか?