【发布时间】:2019-08-23 03:08:47
【问题描述】:
情况:
为了处理域事件,Jimmy Bogart proposed 一种将事件存储在聚合中的方法。
在我看来,这是一种非常方便的方法。但是,域服务中出现域事件的情况呢?
域服务不应该有状态(无状态)。在这种情况下,理论上,IDispatcher 事件调度器必须被注入到这样一个服务的构造函数中。
问题:
为避免引入事件调度器的域服务,建议的替代方法是正确的:
- 将上次操作的事件保存在域服务中。但是,这将违反域服务的无状态原则。
- 根据服务方法返回事件列表 操作的结果(在返回方法或其他方式中, 取决于编程语言的能力)。
【问题讨论】:
标签: events event-handling domain-driven-design ddd-service