在DDD,CQRS + EventSourcing应用程序的命令中具有实体或dto是否可以?我认为不应该这样做,至少任何实体都不应该成为命令的一部分。
我尝试用语言描述问题:我有一个聚合根A,它可以有一个属性实体列表。一个属性实体没有它自己的聚合根,它只是我的聚合根A的一部分。此外,一个且相同的属性实体不能成为另一个聚合根的一部分。
[我公司的一些开发人员认为,使用CreateAggregateA
命令包含Property-Entity
对象的列表是一种不错的方法。命令处理程序创建聚合,将所有属性实体添加到列表中并保存聚合。
此外AggregateACreated
事件还具有同样不正确的属性实体列表。
是否可以将属性实体与域中的propertyDto
对象交换(命令和处理程序在域中?)>
或者命令应该始终尽可能简单。例如,仅具有简单类型(字符串名称,字符串otherParameter)的CreateAggregateA
命令,而我们需要一个附加命令CreateProperty
,该命令创建属性实体并将其添加到链接的集合中?
周围是否有最佳做法?我在Google上搜索了很多,但没有找到明确的声明或指导。
非常感谢您的帮助和投入。
关于,基督教
在DDD,CQRS + EventSourcing应用程序的命令中具有实体或dto是否可以?我认为不应该这样做,至少任何实体都不应该成为命令的一部分。我尝试描述这个问题...
免责声明:我不是DDD专家。我只是分享我所学到的知识和一些个人见解。