【发布时间】:2020-08-19 13:36:57
【问题描述】:
关于 DDD 的讨论如此之多,我希望能找到很多代码示例,这些示例是如何实现这些模式的。但就没那么幸运了。
让我困惑的是这个。是聚合类型的实体,表示为聚合根,还是作为单独的类实现?以下是几个例子,如果其中任何一个是正确的,请回答。
- 它们是不同的类
class Aggregate {
private Entity aggregateRootEntity;
//methods that keep invariants
}
- 没有单独的聚合类,而是聚合根类,代表聚合
class AggregateRootEntity {
//id, fields, value objects references, other entities references
//methods that keep invariants
}
- 任何实体都可以是一个聚合,如果它用于事务范围,保持不变量,并“聚合”一些值对象
//This is aggregate:
class Entity {
private List<ValueObject> valueObjects;
//id, fields
//methods that keep invariants
}
【问题讨论】: