1.Eric Evans强调要聚焦于软件的核心领域,以它来驱动开发。软件能够在市场上卖出去。是因为它封装了别的软件所灭有的一些核心领域知识,这就是核心竞争力,是利润所在的地方,也是最值得下功夫的地方,再难也不能逃避。
2.有很多因素会是软件开发复杂化,但最根本的原因是问题领域本身错综复杂。如果你要为一家人员复杂的企业提高自动化程度,那么你开发的软件将无法回避这种复杂性,你所能做的只有控制这种复杂性。
3.领域模型的最大价值是它提供了一种通用语言,这种语言是将领域专家和技术人员联系在一起的纽带。
4.在大多数软件项目中,主要的焦点应该是领域和领域逻辑
5.复杂的领域设计应该基于模型
6.领域模型是经过严格组织并精心选择的抽象知识
7.模型在领域驱动设计中的作用:
1)模型和设计的核心互相影响
2)模型是团队所有成员锁使用的交流语言的中枢
3)模型是浓缩的知识
8.有效建模的要素:
1)模型和实现的绑定:后期一直维护
2)获得了一种基于模型的语言:业务方可以通过模型和技术方交流
3)开发一个蕴含丰富知识的模型
4)提炼模型:一直重构模型
5)头脑风暴和实验:通过语言和草图,再加上头脑风暴活动。将业务知识消化转化为有价值的模型。
9.将模型作为语言的中心。确保团队在所有交流活动和代码中坚持使用这种语言。在画图、写东西特别是讲话时也要使用这种语言。
10.
11.当人们尝试不同的想法时,可以对图进行修改,草图在某种程度上可以反映讨论的变化,这是讨论中真正重要的部分。
12.给复杂的应用程序划分层次。在每一层内分别进行设计,使其具有内聚性并且只依赖于它的下层。