【发布时间】:2018-07-07 00:47:25
【问题描述】:
谁应该负责处理领域事件?应用服务、领域服务还是实体本身?
让我们用一个简单的例子来回答这个问题。
假设我们处理商店应用程序,并且我们有一个专门用于订单操作的应用程序服务。在这个应用程序中,Order 是一个聚合根,遵循规则,我们只能在单个事务中使用一个聚合。下订单后,它会保存在数据库中。但还有更多工作要做。首先,我们需要更改库存中可用商品的数量,然后通知系统的其他部分(可能是另一个有界上下文)应该启动该特定订单的运输过程。因为,如前所述,我们只能在事务中修改一个聚合,所以我考虑发布OrderPlacedEvent,这将由单独事务中的某些组件处理。
问题出现:哪些组件应该处理这种类型的事件?
【问题讨论】:
标签: events domain-driven-design