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

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

2.有很多因素会是软件开发复杂化,但最根本的原因是问题领域本身错综复杂。如果你要为一家人员复杂的企业提高自动化程度,那么你开发的软件将无法回避这种复杂性,你所能做的只有控制这种复杂性。

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

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

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

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

7.模型在领域驱动设计中的作用:

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

  2)模型是团队所有成员锁使用的交流语言的中枢

  3)模型是浓缩的知识

8.有效建模的要素:

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

  2)获得了一种基于模型的语言:业务方可以通过模型和技术方交流

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

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

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

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

10.

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

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

 

posted @ 2018-01-22 16:21  系统攻城狮  阅读(415)  评论(0编辑  收藏  举报