域驱动设计 – 在ES CQRS DDD中,事件是否可以根本不更新任何真实
发布时间:2020-12-14 05:01:44 所属栏目:百科 来源:网络整理
导读:是否可以在事件流中包含不影响域状态中任何聚合的事件? 举个例如AllCompletedTodosPurged之类的事件,除了通过删除所有已完成的待办事项来更改具有活动待办事项的读取模型. 解决方法 不,这不行.聚合状态更改时会生成域事件.如果没有任何改变,则没有域事件.
是否可以在事件流中包含不影响域状态中任何聚合的事件?
举个例如AllCompletedTodosPurged之类的事件,除了通过删除所有已完成的待办事项来更改具有活动待办事项的读取模型. 解决方法
不,这不行.聚合状态更改时会生成域事件.如果没有任何改变,则没有域事件.
您也可以使用域外的事件,但它们不会成为域的一部分,显然不是事件流的一部分. 在您的方案中,如果事件不是由聚合更改生成的,那么为什么它应该被任何聚合包含?从技术上讲,如果事件不属于任何事件,您将在哪个事件流中添加该事件?你会为所有涉及的ToDos添加该事件吗?这没有道理. 我不确定清除是否属于您的域名,但如果是,则意味着所有已完成的待办事项都被“删除”,即每个涉及的聚合已经在其集合中具有ToDoDeleted事件. AllCompletedTodosPurged只是一个对更新读取模型有用的事件,但就是这样.它不应该影响域模型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |