谁应该负责处理领域事件?是应用程序服务、领域服务还是实体本身?
让我们为这个问题举一个简单的例子。假设我们正在开发一款商店应用程序,并且我们有一个专门用于订单操作的应用程序服务。在这个应用中,
问题出现了:哪些组件应该处理这种类型的事件?
让我们为这个问题举一个简单的例子。假设我们正在开发一款商店应用程序,并且我们有一个专门用于订单操作的应用程序服务。在这个应用中,
Order
是一个聚合根,根据以下规则,我们只能在单个事务内处理一个聚合。下单后,它会被持久化到数据库中。但还有更多工作要做。首先,我们需要改变库存中可用物品的数量,其次通知系统的某些其他部分(可能是另一个有界上下文),应该开始针对特定订单的运输流程。因为,如前所述,我们只能在一个事务内修改一个聚合,所以我考虑发布OrderPlacedEvent
,由一些组件在独立的事务中处理。问题出现了:哪些组件应该处理这种类型的事件?