DDD中两个有界上下文之间的通信

问题描述 投票:26回答:6

我在域中有几个不同的Bounded Contexts。 CRUD操作的验证内置在每个有界上下文中。

例如,我可以仅当创建者为组长时创建一个名为GAME的实体

在此示例中,我有两个边界上下文(BC)。一个是Game BC,另一个是User BC。为了解决该问题,在创建游戏之前,必须在Game BC中对User BC进行像IsGroupLeader()这样的域服务调用。

我认为DDD不推荐这种类型的交流。我也可以在游戏BC中使用用户实体,但是我不想这样做,因为同一用户实体在不同的BC中的不同上下文中使用的方式有所不同。 >

我的问题是:

  1. 我应该使用域事件,其中Game BC

    必须将事件发送给User BC,询问User的状态吗?使用这种方法,我不会像IsGroupLeader那样进行同步调用,而是进行名为is_group_leader的事件。然后,游戏BC必须等待用户BC处理事件并返回状态。仅在用户BC处理事件后,游戏BC才会创建游戏实体。
  2. CQRS是否可以解决我的问题?

  3. 任何想法表示赞赏。

我在域中有几个不同的绑定上下文。 CRUD操作的验证内置在每个有界上下文中。例如,仅当创建...

domain-driven-design cqrs domain-events bounded-contexts
6个回答
27
投票

16
投票

2
投票

2
投票

0
投票

-1
投票
用户实体
© www.soinside.com 2019 - 2024. All rights reserved.