gpt4 book ai didi

domain-driven-design - 在 ES + CQRS + DDD 中,事件可以根本不更新任何真实的域状态吗?

转载 作者:行者123 更新时间:2023-12-04 21:38:17 26 4
gpt4 key购买 nike

事件流中的事件是否可以不影响域状态中的任何聚合?

以 AllCompletedTodosPurged 之类的事件为例,它只会改变 阅读模型通过删除所有已完成的待办事项来使用事件待办事项。

最佳答案

不,不会有事的。当聚合状态发生变化时,会生成域事件。如果没有任何变化,则没有域事件。

您也可以使用域外的事件,但它们不会是域的一部分,显然也不是事件流的一部分。

在您的场景中,如果事件不是作为聚合更改的结果生成的,为什么它应该包含在任何聚合中?从技术上讲,如果该事件不属于任何内容,您将在哪个事件流中添加该事件?您会为所有涉及的 ToDos 添加该事件吗?这没有道理。

我不确定清除是您域的一部分,但如果是,则意味着所有已完成的待办事项都已“删除”,即每个涉及的聚合都已经具有 ToDoDeleted其收藏中的事件。 AllCompletedTodosPurged只是一个对更新读取模型有用的事件,仅此而已。它不应该影响域模型。

关于domain-driven-design - 在 ES + CQRS + DDD 中,事件可以根本不更新任何真实的域状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823747/

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