我有一个复杂的场景,其中两个聚合边界相互矛盾。
我有 2 个实体:请求和任务。用户创建请求,然后他可以创建任务并将现有请求分配给任务。
请求和任务可以独立创建。换句话说,我在创建请求时不需要任务,反之亦然。
所以我假设我们在这里有 2 个不同的聚合:请求聚合和任务聚合,每个实体都是它自己聚合的根。
但是,我们有一个不变量违反了这个假设:您可以推迟或取消任务,这会导致分配给它的所有请求的状态相应地更新。
如果 Request 和 Mission 位于两个不同的聚合中,我该如何强制执行此约束?如果我将它们放在同一个聚合中,则无法分辨谁是聚合根,因为每个实体都可以独立创建。
有什么建议吗?
莫什