DDD领域模型企业级系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DDD领域模型企业级系统相关的知识,希望对你有一定的参考价值。

领域模型的基本构造块:

1.实体(Entity):有业务生命周期,使用标识进行跟踪。

2.值对象(Value Object):无业务生命周期,用来描述实体。

3.服务(Service):无状态的行为类型,表示某种能力。

4.聚合(Aggregate):

      1).聚合是一簇相关联的对象,出于封装的目的,将这些对象作为一个单元(业务、持久化和并发)。

      2).每个聚合都有一个边界和一个根。

      3).边界定义了聚合中应该包含什么。

5.聚合根(Aggregate Root)

  1).根是聚合中唯一允许被外部引用的元素,在聚合边界内,对象之间可以相互引用。

  2).聚合根使用全局标识,由仓储负责其持久化相关的生命周期,实体使用局部标识,由聚合根负责其持久化生命周期。

6.仓储(Repository)

7.工厂(Factory)

 

聚合的一致性:

   1).聚合内的一致性由聚合自身负责维护

   2).跨聚合的一致性由服务负责维护

   3).最终一致性

 

如何保证聚合的一致性:

  1).对聚合内的任何修改都要经过聚合跟,聚合跟负责一致性检查。

  2).聚合内除了聚合根之外的实体只能被临时使用。

  3).值对象因为拥有了值语义,天生安全。

  4).服务封装跨聚合的一致性职责。

 

以上是关于DDD领域模型企业级系统的主要内容,如果未能解决你的问题,请参考以下文章

领域模型驱动设计(DDD)之模型提炼

DDD - 持久性模型和领域模型

学习:DDD领域驱动设计

DDD领域驱动设计 - 设计文档模板

DDD专栏4:DDD如何保护领域模型

浅谈我对DDD领域驱动设计的理解