基于概念图,针对建模落地的过程形成完整的知识地图。
1.捕获行为需求和事件风暴
如图所示,捕获行为需求的3种方法:用例分析、事件风暴和用户故障地图。 统一语言和模型驱动设计是DDD的两个核心模式。
2.模型的建立
从领域知识开始,DDD 非常重视对领域知识的消化,这主要是在模型驱动设计过程中进行的;
领域模型是模型驱动设计的核心,领域模型使用 UML 来建模;包含表示领域概念的领域对象、对象之间的关联以及把对象按内聚和耦合关系分组的模块。
领域对象分成实体和值对象两类。
领域知识还包含业务规则,把业务规则记录在业务规则表中,可以保证业务规则在分析和实现的时候不会遗漏。
在模型驱动设计的过程中会运用和形成统一语言,统一语言用于描述领域知识,而领域模型和词汇表都可以帮我们固化统一语言。
3.模型的实现
从“领域模型”开始看,模型的实现主要是依据模型编写代码和设计数据库。代码和数据库的命名都要依据统一语言。编码时使用分层架构。
分层架构主要包括领域层、应用层、适配器层,我们分别细看一下这三层所关联的主要概念。
1)领域层中的领域对象和模块都与领域模型保持一致。领域对象和领域服务都会实现领域逻辑。此外,领域层还有工厂来创建领域对象,仓库的接口来持久化领域对象。
2)应用层主要包含应用服务,是领域层的“门面”。
3)适配器层用于分离输入输出技术和业务关注点。适配器分为主动适配器和被动适配器,其中主动适配器包含仓库的实现。
极客时间《手把手教你落地DDD》第13课学习笔记 Day13