一张图解释DDD领域驱动设计的战术概念
Eric Evans的经典著作《领域驱动设计:在软件的核心处理复杂性》解释了一种方法来建模一个复杂的业务。
三种领域对象:
- 实体:具有ID和生命周期的域对象。
- 值对象:没有ID域对象
- 聚合:由聚合根(也是一个实体)绑定在一起的实体的集合。
领域对象生命周期:
- Repository:存储和加载聚合。
- 工厂:处理聚合的创建。
领域对象行为:
- 领域服务:编排多个聚合。
- 领域事件:对聚合所发生的情况的描述。发布是公开的,以便其他人可以使用和重构它。
彩蛋1:
以上是DDD的战术概念,DDD战略概念更重要,它决定了如何将业务能力落地为DDD战术设计:
- UL:统一语言、无所不在的通用语言、本体语言、领域语言、术语、数据词典、知识图谱
- BC:有界上下文、限界上下文
彩蛋2:
阿里云盘DDD讲解视频