领域驱动设计----学习笔记

模型设计:

(1)分解概念;

(2)联系起来

设计要点:

(1)软件的核心是它为用户解决领域相关问题的能力;

(2)没有持久化内容,也没有用户界面,这使得我能够专注于行为本身;

“先中间,后两头”的做法。重点考量领域问题,最后在进行UI和持久化结构的设计

(3)当发现模型能够明确所有细节意义的抽象概念时,这项工作就获得了成功;

(4)知识消化是由开发团队与领域专家共同合作,由开发人员领导的;

业务人员和技术人员相互协作

(5)分析人员全权负责模型的创建,但仅仅根据从业务专家得到的信息来进行工作。他们没有机会从程序员那里学习新的知识或从软件的早期版本获得经验。知识只是单向流动,并没有交互额累积;

分析人员只懂领域知识、技术人员只懂技术细节,没能将二者很好的结合,如果既了解技术又熟悉业务,才能是一个合格的设计人员

(6)如果程序员对于该领域知识不感兴趣,他们只能知道应用程序应该做什么,却不了解其背后的原理,这样做虽然能够建立一个有用的软件,但是项目永远不会具有从前期特征推导出更加强大额新特征的能力;

(7)领域模型的不断精化使得开发人员不断地学习他们所需要的重要的业务原理,而不是机械地产生新的功能;

(8)领域模型可以成为项目成员所使用的通用语言的核心,模型是建立在项目成员头脑中的一组概念,它使用术语及关系来反映领域的内涵。这些术语和相互的关系规定了适合于领域的语言定义,这种语义对于技术开发来讲是足够精确额。这也是将模型贯穿到开发活动中,并将模型与代码进行绑定的关键;

相关推荐