gpt4 book ai didi

domain-driven-design - CQRS/ES 去规范化器

转载 作者:行者123 更新时间:2023-12-04 08:21:11 24 4
gpt4 key购买 nike

我正在开发一个使用事件溯源和 CQRS 的开发票网络应用程序。

我有 2 个非规范化程序用于不同的查询(一个用于发票摘要列表,一个用于包含完整详细信息的单张发票)。我觉得很奇怪,我需要为这 2 个非规范化器复制很多逻辑 - 例如,监听改变总计、小计、税金等的事件。

我最终在消息传递总线上传递了包含真实计算数据的聚合本身,而不仅仅是事件,并让非规范化器监听它而不是事件。

这对我来说更简单,但似乎与模式不同。我读过的任何文章都没有提到这种方法。

我喜欢只传递总线上的事件并让每个反规范化器对其需要的内容使用react的想法,但在实践中感觉更麻烦。

我很想听听你的想法。

感谢您的帮助!

最佳答案

正如 guillaume31 在上面的评论中所建议的,您可以使用特殊事件(例如 NewTotalComputed)简单地丰富您的域模型。根据事件的数量,这可能很快就会使您的领域模型变得困惑。

或者,您可以将计算逻辑重构为一个特殊的策略类,用于领域模型(聚合根)和读取模型。

关于domain-driven-design - CQRS/ES 去规范化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31824621/

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