百老汇CQRS中同一个ReadModel上的多个投影仪

时间:2016-06-10 11:59:37

标签: php cqrs event-sourcing

我有一个Customer Readmodel,其中包含一些属性,包括active属性。

现在假设我想用2个表填写客户信息:例如,一个表只有customer idactive状态,另一个表包含所有信息。

我应该单独ProjectorReadmodelRepository来实现此目标吗?

编辑: 示例场景:

CustomerCreatedEvent - >包含所有客户数据

CustomerActivatedEvent - >仅包含已启用status = true的客户ID

Readmodel =客户类

投影仪处理这两个事件。

CustomerActivatedEvent处理程序将加载客户并根据CustomerActivatedEvent中的数据通过CustomerRepository(或ActiveCustomersRepository?)更新'active_users'表。

1 个答案:

答案 0 :(得分:0)

没有

您的读取方的事件处理程序是负责以您希望的方式更新所谓的Readmodels的人。

例如,您可以拥有一个CustomerCreatedEventHandler来更新您需要的2个表,或者您可以拥有两个单独的事件处理程序,这两个事件处理程序是同一事件的两个订阅者,每个都更新一个不同的表。