我有一个Customer
Readmodel,其中包含一些属性,包括active
属性。
现在假设我想用2个表填写客户信息:例如,一个表只有customer id
和active
状态,另一个表包含所有信息。
我应该单独Projector
,Readmodel
和Repository
来实现此目标吗?
编辑: 示例场景:
CustomerCreatedEvent - >包含所有客户数据
CustomerActivatedEvent - >仅包含已启用status = true的客户ID
Readmodel =客户类
投影仪处理这两个事件。
CustomerActivatedEvent处理程序将加载客户并根据CustomerActivatedEvent中的数据通过CustomerRepository(或ActiveCustomersRepository?)更新'active_users'表。
答案 0 :(得分:0)
没有
您的读取方的事件处理程序是负责以您希望的方式更新所谓的Readmodels的人。
例如,您可以拥有一个CustomerCreatedEventHandler来更新您需要的2个表,或者您可以拥有两个单独的事件处理程序,这两个事件处理程序是同一事件的两个订阅者,每个都更新一个不同的表。