领域驱动设计 - 01 - 消化知识
🏷️ 《领域驱动设计》
记录一下阅读《领域驱动设计 软件核心复杂性应对之道》的笔记。
有效建模的要素:
- 模型与实现的绑定。
- 建立一种基于模型的语言。
- 开发一个蕴含丰富知识的模型。
- 提炼模型。
- 头脑风暴和实现。
作者通过介绍一个案例总结了有效建模的几个要素。
高效的领域建模人员是知识的消化者。
知识消化并非是一项孤立的活动,它一般是在开发人员的领导下,由开发人员和领域专家组成的团队来共同协作。
知识消化是指消化需求中的信息,提炼出合适的模型。
一直比较困惑的是 领域建模人员 究竟是指项目中的哪些人?严格来说,自己参加过的项目中并没有哪一个是通过领域模型来驱动设计的,所以对这个角色感觉很陌生。书中反复提到的是 领域专家 ,接触到的项目中比较接近这个定位的角色应该就是产品经理了。不过个人感觉更像是产品经理和开发人员的结合,因为实际项目中建模的一般都是开发人员。后面的第 3 章中也有提到建模人员应亲身参与开发。
领域专家同开发人员的思考方式并不一样,开发人员更关注的是技术上如何实现。
在团队所有成员一起消化理解模型的过程中,他们之间的交互也会发生变化。
所有这些因素都促使团队成员成为更合格的知识消化者。
模型在不断改进的同时,也成为组织项目信息流的工具。
通过这种开发方式,组成一个良性的循环。
当开始编写软件时,其实我们所知甚少。
高效率的团队需要有意识的积累知识,并持续学习。
善于自学的团队成员会成为团队的中坚力量。核心团队头脑中积累的知识使它们成为更高效的知识消化者。
这里知识是指项目中相关领域的知识。
业务活动和规则如同所涉及的实体一样,都是领域的核心,任何领域都有各种类别的概念。
知识消化是一种探索,它永无止境。