DDD + CQRS + ES:实体或dto可以成为命令的一部分吗?

问题描述 投票:0回答:1

在DDD,CQRS + EventSourcing应用程序的命令中具有实体或dto是否可以?我认为不应该这样做,至少任何实体都不应该成为命令的一部分。

我尝试用语言描述问题:我有一个聚合根A,它可以有一个属性实体列表。一个属性实体没有它自己的聚合根,它只是我的聚合根A的一部分。此外,一个且相同的属性实体不能成为另一个聚合根的一部分。

[我公司的一些开发人员认为,使用CreateAggregateA命令包含Property-Entity对象的列表是一种不错的方法。命令处理程序创建聚合,将所有属性实体添加到列表中并保存聚合。

此外AggregateACreated事件还具有同样不正确的属性实体列表。

是否可以将属性实体与域中的propertyDto对象交换(命令和处理程序在域中?)>

或者命令应该始终尽可能简单。例如,仅具有简单类型(字符串名称,字符串otherParameter)的CreateAggregateA命令,而我们需要一个附加命令CreateProperty,该命令创建属性实体并将其添加到链接的集合中?

周围是否有最佳做法?我在Google上搜索了很多,但没有找到明确的声明或指导。

非常感谢您的帮助和投入。

关于,基督教

在DDD,CQRS + EventSourcing应用程序的命令中具有实体或dto是否可以?我认为不应该这样做,至少任何实体都不应该成为命令的一部分。我尝试描述这个问题...

domain-driven-design cqrs
1个回答
2
投票

免责声明:我不是DDD专家。我只是分享我所学到的知识和一些个人见解。

© www.soinside.com 2019 - 2024. All rights reserved.