目标 #
- DDD的精髓是降低系统复杂度
- 规则
三个核心 #
统一语言 #
- 核心领域词汇表
- 统一语言重构迭代: 模型-》实现-》 重构-》 隐喻 -》 再到模型
- 命名规范
- DSL - Domain Specific Language
领域划分 #
- 领域
- 子域
- 边界上下文(Bounded Context)
- 上下文映射(Context Mapping) 共享内核(Shared Kernel) 防腐层(Anti-Corruption): 类似adaptor、facade, 对内部领域模型的隔离和屏蔽。
领域模型 #
-
抽象: 是从具体事物抽取、概括出它们共同的方面、本质属性与关系等。
-
领域建模方法论: UML用例分析、 UML用例分析法 四色建模法 事件风暴
模式 [3] #

-
实体 [4]
可变性是实体的特点 -
值对象 [4] 不变性是值对象的本质
-
service 领域服务是多个实体组合出来的一段业务逻辑
-
聚合[5] 真实世界中整体与部分的关系 正是因为有这样的关系,在操作整体的时候,整体就封装了对部分的操作。 所谓的整体与部分的关系,就是当整体不存在时,部分就变得没有了意义。
- 每个聚合对应一个Repo interface [7]
- 对聚合内的数据一致性负责[7]
-
聚合根 外部访问的唯一入口
架构 #
六边形架构 #
又被称之为Ports and Adapters(端口和适配器架构)
参考 #
- 《DDD(Domain Driven Design)的精髓》 直播+ppt 阿里张建飞 钉钉2020.05.21视频
- xxx
- 领域驱动设计之领域模型 ***
- 《04 领域模型是如何指导程序设计的?》 DDD 微服务落地实战-拉钩专栏
- 《05 聚合、仓库与工厂:傻傻分不清楚》 DDD 微服务落地实战-拉钩专栏
- {% post_link ‘DomainLogicAndSQL’ %} self
资源 #
- 《实现领域驱动设计》 B ***
- 《领域专用语言实战》 B 没纸质
- 《领域驱动设计精粹》B 没纸质
- 《中台架构与实现 : 基于DDD和微服务》 B 没纸质
- 事件风暴和领域建模在阿里巴巴的落地实践 未
- 《DDD实战课》
- 《mksz541-DDD(领域驱动设计)思想解读及优秀实践~4》 V
- 《lg2061-DDD 微服务落地实战-拉钩专栏》 V *** 有代码