【发布时间】:2021-03-06 20:06:51
【问题描述】:
基于 Mauro Servienti 的演讲,题为“我们所有的聚合都是错误的。这是供参考的链接:https://www.youtube.com/watch?v=KkzvQSuYd5I
我们可能有一些有界上下文,每个上下文都包含一个项目的信息。
例如
- 营销背景 - 名称、描述、图片
- 销售背景 - 标价、产品代码?
- 库存 - 库存水平
每个上下文可能都有自己的名称,例如库存可能称之为销售项目。
我认为销售可能是一个项目的所有者,所以当你去创建一个项目时,它就是将被创建的地方。
我有两个问题。
UI 是否单独调用这些上下文?
如果我有一个 UI 来创建产品/项目并获取营销和销售数据(标价、产品代码、名称、描述),我相信 UI 会进行两个单独的调用。
第一次调用销售上下文以创建项目,这将发布 ItemCreated 事件或类似事件。 第二次调用将针对营销上下文设置名称、描述等...
这对吗?
营销项目 所以我对库存服务的理解是,它将侦听销售 ItemCreated 事件,然后为其表示一个项目(库存项目)创建自己的聚合/流
另一方面,对于营销,如果我有一个 UI,我在其中创建带有销售额的项目,然后需要在营销中设置数据,那么 UI 是否会等待在营销中创建项目,然后再设置标题和描述? UI 是否会轮询市场营销上下文,直到项目被创建,然后执行命令来更新数据?
【问题讨论】:
标签: domain-driven-design event-driven