DDD构建流程
DDD构建流程
开发人员不仅要完善技术知识,也要培养一般的领域建模技巧。
什么是领域模型?
领域模型是一种知识的沉淀,能够保护和共享一些知识。
领域模型需要开发人员与领域专家共同参与训练,缺一不可。
- 缺少了开发人员参与,业务人员的知识单向流动到开发人员,知识缺少指导,其组织形式未必合理。
- 缺少了领域专家,得到的概念是幼稚的,无法反映出领域专家的思考
如何建模?
建模的过程是开发人员和领域专家共同学习,共同梳理的过程。
如何训练模型?
头脑风暴-> 建模 ->反馈->修改模型->...
以模型的形式把知识沉淀下来,并且模型能够对新的需求作出响应,也就是一个模型的训练过程。
如何形成公共语言?
团队成员、开发人员、业务专家形成公共的语言很重要
如何交流?
-
口头交流
- 影响范围小,存在时间短暂
- 尽量避免用技术性语言,多用领域的单词和短语描述模型
-
文档
- 外部文档和注释,不能和代码同步
- 可以作为代码的补充,应该及时更新,保持文档的鲜活
- 使用公共语言,将文档最小化
-
代码
- 代码不会说谎,好的代码是能自我解释的,能够体现模型
- 但是容易陷入细节
- 代码与类图结合更直观
口头交流、文档和代码互相补充,来实现交流效率提升。
解释型模型
- 不必是严格的类图,可以是任何形式的图,就是为了说明一些场景