gpt4 book ai didi

domain-driven-design - 当键未发生时查找读取模型投影行?

转载 作者:行者123 更新时间:2023-12-04 08:23:37 25 4
gpt4 key购买 nike

我想在我的 CQRS/ES 应用程序中创建一个新的事件读取模型投影。

问题是我需要用于投影的 key 并不存在于我的所有事件中:

我的根聚合是一辆汽车。

  • 第一个事件是包含“制造商”的 CarCreated 事件

  • 然后我将有一个仅包含“日期”的 CarRepaired 事件

我的新读取投影是一个CarsRepairedPerManufacturer,它将计算每个制造商的维修汽车数量:

  • CarCreated 事件没有问题:此事件保留“制造商”,因此我的读取 View 是使用正确的 key 创建的

  • 问题出在我的 CarRepaired 事件上:当我的事件中没有此信息时,如何在我的读取模型中找到正确的行(其中关键是制造商) ?

也许我在这里遗漏了一些东西,因为如果这是无法解决的,它将限制您在 ES/CQRS 中可以进行的预测类型。

最佳答案

您的问题没有具体提到 DDD,但这是一个非常值得考虑的有用范例。 CQRS/ES 并不是这里的障碍。

您遇到了上下文混合的经典问题。汽车被创造(或“ build ”)的环境并不关心它们维修时会发生什么。维修发生的环境并不真正关心汽车的制造过程。您的单个汽车聚合尝试同时服务两个上下文,这就是您出现阻抗不匹配的原因,并且应该让您暂停以重新考虑您的设计。

您确定您已经正确绘制了聚合边界,即“汽车”需要跟踪它的创建和维修吗?为什么没有“汽车”聚合和“维修”聚合?

关于domain-driven-design - 当键未发生时查找读取模型投影行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173346/

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