问题描述
所以我在我的应用程序中使用CQRS。现在,我有一个需要在其实现中使用其他模型/类的事件,就像valueObject用于实体一样。
一个简单的例子,我有一个用户事件,这个事件有一个叫做Address的属性,这个地址是AddressModel的类型。
那我应该怎么称呼这个AddressModel? valuObject还是其他?
解决方法
我会选择AddressDpo
,其中Dpo
代表域有效负载对象。
Model
太通用了,绝对不是ValueObject
,因为值对象的行为可能会改变事件源投影的重建。事件应该只是数据结构。这是尼克·张伯伦(Nick Chamberlain)的an article。
在this article中简要提到了DPO。