gpt4 book ai didi

events - DDD、领域服务和事件

转载 作者:行者123 更新时间:2023-12-04 13:19:33 27 4
gpt4 key购买 nike

情况:

要处理域事件,Jimmy Bogart proposed 一种将事件存储在聚合中的方法。

在我看来,这是一种非常方便的方法。但是,域服务中的域事件怎么办?

域服务不应该有状态(stateless)。在这种情况下,理论上必须将 IDispatcher 事件调度程序注入(inject)到此类服务的构造函数中。

问题:

为避免引入事件调度程序的领域服务,建议的替代方法是正确的:

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

最佳答案

注意:该帖子大约是五年前写的。您可能想查看他最近的(和更详细的):Life Beyond Distributed Transactions: An Apostate's Implementation

Domain Service should not have a state

是的 - 由于这个原因,您想要在域服务中分配域事件的责任是非常可疑的。

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

关于events - DDD、领域服务和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55463788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com