【发布时间】:2021-03-24 08:07:35
【问题描述】:
我正在使用 DDD/CQRS 对我的域进行建模,但我遇到了命名问题。
假设我有一个类树结构的类别聚合,我想更新类别树:
class CategoryItemEntity {
Long guid;
String title;
List<CategoryItem> children;
Datetime createdAt;
Datetime updatedAt;
}
class CategoryItemParameterObject {
Long guid;
String title;
List<CategoryItem> children;
}
class CategoryAggregate {
Long guid;
List<CategoryItem> items;
void updateTree(List<CategoryItemParameterObject> items) {
// ...
}
}
我的问题是我应该怎么称呼CategoryItemParameterObject?它是 DTO 还是其他?我的阅读端也有一个CategoryItemDTO。如果我称它为CategoryItemDTO 会不会让人感到困惑?
可以直接向聚合发送命令吗?
【问题讨论】:
-
我认为这是一个口味问题,但我个人根据它们的用法命名它们。我会调用
CategoryItemParameterObjectUpdatedCategoryItem或NewCategoryItem,具体取决于它是用于更新还是创建操作,并将它们放在单独的Arguments命名空间中。