Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Domain driven design DDD:DTO和参数对象_Domain Driven Design_Cqrs - Fatal编程技术网

Domain driven design DDD:DTO和参数对象

Domain driven design DDD:DTO和参数对象,domain-driven-design,cqrs,Domain Driven Design,Cqrs,我正在使用DDD/CQRS对我的域进行建模,我在命名方面遇到了问题 假设我有一个树状结构的类别聚合,我想更新类别树: 类CategoryItemEntity{ 长guid; 字符串标题; 列出儿童名单; 创建日期时间; Datetime updatedAt; } 类CategoryItemParameterObject{ 长guid; 字符串标题; 列出儿童名单; } 类分类{ 长guid; 清单项目; 作废updateTreeList项{ // ... } } 我的问题是什么应该称为Categ

我正在使用DDD/CQRS对我的域进行建模,我在命名方面遇到了问题

假设我有一个树状结构的类别聚合,我想更新类别树:

类CategoryItemEntity{ 长guid; 字符串标题; 列出儿童名单; 创建日期时间; Datetime updatedAt; } 类CategoryItemParameterObject{ 长guid; 字符串标题; 列出儿童名单; } 类分类{ 长guid; 清单项目; 作废updateTreeList项{ // ... } } 我的问题是什么应该称为CategoryItemParameterObject?是DTO还是别的什么?我在阅读方面也有一个分类项目。如果我把它叫做CategoryItem会让人困惑吗


可以直接向聚合发送命令吗?

这是命令吗?实体? 关于它的用途,给它加上一个后缀/前缀,给谁读代码不是你,而是谁会在3个月、6个月或12个月后读代码提供关于它可能用途的有用信息。
关于第二个问题:是的,没有规则否认这一点。如果实体可以处理命令本身,请执行该操作。我有一个命令处理程序,它接收、加载实体并向其发出命令。它工作完美无瑕,意义非常明确。同样,考虑一下谁将在以后维护代码,并做一些不需要太多思考的事情。

我认为这是一个品味问题,但我个人根据它们的使用情况来命名它们。我将调用CategoryItemParameterObject UpdatedCategoryItem或NewCategoryItem,具体取决于它是用于更新还是用于创建操作,并将它们放在单独的参数命名空间中。