《领域驱动设计:软件核心复杂性应对之道》读书笔记

1.Eric Evans强调要聚焦于软件的核心领域,以它来驱动开发。软件可以在市场上卖出去。是由于它封装了别的软件所灭有的一些核心领域知识,这就是核心竞争力,是利润所在的地方,也是最值得下功夫的地方,再难也不能逃避。设计

2.有不少因素会是软件开发复杂化,但最根本的缘由是问题领域自己错综复杂。若是你要为一家人员复杂的企业提升自动化程度,那么你开发的软件将没法回避这种复杂性,你所能作的只有控制这种复杂性。开发

3.领域模型的最大价值是它提供了一种通用语言,这种语言是将领域专家和技术人员联系在一块儿的纽带。自动化

4.在大多数软件项目中,主要的焦点应该是领域和领域逻辑class

5.复杂的领域设计应该基于模型重构

6.领域模型是通过严格组织并精心选择的抽象知识软件

7.模型在领域驱动设计中的做用:程序

  1)模型和设计的核心互相影响im

  2)模型是团队全部成员锁使用的交流语言的中枢技术

  3)模型是浓缩的知识项目

8.有效建模的要素:

  1)模型和实现的绑定:后期一直维护

  2)得到了一种基于模型的语言:业务方能够经过模型和技术方交流

  3)开发一个蕴含丰富知识的模型

  4)提炼模型:一直重构模型

  5)头脑风暴和实验:经过语言和草图,再加上头脑风暴活动。将业务知识消化转化为有价值的模型。

9.将模型做为语言的中心。确保团队在全部交流活动和代码中坚持使用这种语言。在画图、写东西特别是讲话时也要使用这种语言。

10.

11.当人们尝试不一样的想法时,能够对图进行修改,草图在某种程度上能够反映讨论的变化,这是讨论中真正重要的部分。

12.给复杂的应用程序划分层次。在每一层内分别进行设计,使其具备内聚性而且只依赖于它的下层。