一张图解释DDD领域驱动设计的战术概念



Eric Evans的经典著作《领域驱动设计:在软件的核心处理复杂性》解释了一种方法来建模一个复杂的业务。

三种领域对象:

  • 实体:具有ID和生命周期的域对象。
  • 值对象:没有ID域对象
  • 聚合:由聚合根(也是一个实体)绑定在一起的实体的集合。

领域对象生命周期:

  • Repository:存储和加载聚合。
  • 工厂:处理聚合的创建。

领域对象行为:
  • 领域服务:编排多个聚合。
  • 领域事件:对聚合所发生的情况的描述。发布是公开的,以便其他人可以使用和重构它。

彩蛋1:
以上是DDD的战术概念,DDD战略概念更重要,它决定了如何将业务能力落地为DDD战术设计:

  • UL:统一语言、无所不在的通用语言、本体语言、领域语言、术语、数据词典、知识图谱
  • BC:有界上下文、限界上下文

彩蛋2:
阿里云盘DDD讲解视频