记录一些有感悟的语句
- 模型是一种简化。它是对现实的解释——把解决问题密切相关的方面抽象出来,而忽略无关的细节。
- 模型这种知识形式对知识进行了选择性的简化和有意的结构化。
- 模型更像是制作电影——出于某种目的而概括地反映现实。
3个基本用途决定了模型的选择
- 模型和设计的核心相互影响。正是模型与实现之间的紧密联系才使模型变得有用,并确保我们在模型中所进行的分析能够转化为最终产品。模型与实现之间的这种紧密结合在维护和后续开发期间也会很有用,因为我们可以基于对模型的理解来解释代码。
- 模型是团队所有成员使用通用语言的中枢。由于模型与实现之间的关联,开发人员可以使用该语言来讨论程序。他们可以在无需翻译的情况下与领域专家进行沟通。额日期额该语言是基于模型的,因此我们可借助自然语言对模型本身进行精化。
- 模型是浓缩的知识。模型是团队一致认同的领域知识的组织方式和重要元素方式。
Chapter.1 & 2 作者说了一堆项目经历,就是想表达业务与技术的融合,要具有两个象征域的共同语言。个人理解:就是对关注的结构进行命名,减少交流成本
Chapter.3 绑定模型与实现
作者在项目经历中发现,初期的设计阶段过于聚焦于模型本身,导致模型中定义的UML无法有数据结构进行实现,导致工作的推倒重来,即过于关注领域模型是缺乏现实意义的,领域模型只是方法论,不能被方法论支配客观现实。
总结:过去那套偏分析的建模方式与程序的实现的弱相关,导致后期代码阅读成本提高与模型的失效。
MODEL-DRIVEN DESIGN(模型驱动设计)
作者对这个概念的初衷:MODEL-DRIVEN DESIGN 不在将分析模型和程序设计分离开,而是寻求一种能够满足这两方面需求的单一模型。
为了实现分析模型与程序实现的融合,达到程序可以自然的实现模型,模型可以反映出更深层次的概念,因此作者提出了新的名词:UBIQUITOUS LANGUAGE(通用语言)
总结
第一部分更多是工程管理方面对于模型驱动设计的必要性,提出模型于程序实现更多要融合。即代码即模型,模型即代码。中间通过通用语言进行两个象征域之间的交流。