有了这么多关于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
}发布于 2020-08-19 16:02:22
没有单独的聚合类,而是表示聚合的聚合根类。
这一个。
介绍DDD和“聚合”模式的参考书是Evans 领域驱动设计:解决软件核心的复杂性问题。
第5章讨论了在软件领域建模中使用的模式:实体、值、“域服务”等等。
第6章讨论了生命周期管理,其中他讨论了工厂、存储库和聚合:
聚合是一组关联对象,我们将其视为用于数据更改的单元。每个聚合有一个根和一个边界。边界定义了聚合内部的内容。根是聚合中包含的单个特定实体。根是聚合中唯一允许外部对象保存引用的成员.
如果您愿意,聚合是一个对象图,它包括根对象,以及通过遍历本地引用可以从根对象到达的其他对象。
https://stackoverflow.com/questions/63488232
复制相似问题