繁体   English   中英

DDD,域服务和事件

[英]DDD, Domain Services and Events

情况:

为了处理域事件,Jimmy Bogart 提出了一种将事件存储在聚合中的方法。

在我看来,这是一种非常方便的方法。 但是,在域服务中发生域事件的情况如何?

域服务不应具有状态(无状态)。 在这种情况下,从理论上讲,必须将IDispatcher事件分派器注入此类服务的构造函数中。

题:

为了避免引入事件分配器的域服务,建议的替代方法是正确的:

  1. 在域服务中保存上次操作的事件。 但是,这将违反域服务的无状态原则。
  2. 根据操作结果(以return方法或其他方式,取决于编程语言的功能)从service方法返回事件列表。

注意:该帖子写于大约五年前。 您可能需要查看他的最新文章(更详细): 分布式事务后的生活:叛教者的实现

域服务不应具有状态

正确-出于这个原因,您非常想为域服务中的域事件分配责任。

您可能使用域服务来计算聚合事件,但是存储仍将属于聚合结构本身。 因此,它可能看起来像一个函数(或者,如果您愿意,则是域服务上的方法),它接受聚合提供的一些参数并返回事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM