2 つの集計境界が互いに矛盾する複雑なシナリオがあります。
リクエストとミッションの 2 つのエンティティがあります。ユーザーはリクエストを作成し、後でミッションを作成して既存のリクエストをミッションに割り当てることができます。
リクエストとミッションは個別に作成できます。つまり、リクエストを作成するときにミッションを作成する必要はなく、その逆も同様です。
したがって、ここには 2 つの異なる集約があると仮定しています。要求集約とミッション集約であり、各エンティティは独自の集約のルートです。
ただし、この仮定に違反する不変条件があります。ミッションを延期またはキャンセルできます。これにより、それに割り当てられたすべてのリクエストのステータスがそれに応じて更新されます。
Request と Mission が 2 つの異なる Aggregate にある場合、この制約を強制するにはどうすればよいですか? それらを同じ Aggregate に入れると、各エンティティは個別に作成できるため、Aggregate Root が誰であるかを知ることはできません。
何かアドバイス?
モッシュ