DDD阅读笔记

DDD阅读笔记

软件

软件是用来解决现实的问题,换句话说软件脱胎于领域,并跟领域密切相关。软件开发者要具备一定的领域知识,遵循模型开发。
起初,开发人员可能不那么精确地讲模型一一映射到代码中,但随着不断的重构,会将隐含的领域关键字显化。

模型

浅层次的模型:将领域动词转化为方法,名词转化为类。
深层次的模型:忽略表面内容,捕捉到本质内涵。
利用模式元素,描绘出一句句模式语言,让语言构成一幅画,这个画就是模型。模型刚开始可能不准,需要多方人员的讨论,反馈,修正才能凸显关键字和核心域。

领域

领域是产生问题的背景,脱离领域的软件、模型是垃圾。问题的影响因子才是我们要考虑的,其它无关紧要的元素可以丢弃掉。

术语解释

领域:知识,影响或活动的范围。
领域专家:软件项目的成员之一,精通的是软件的应用领域而不是软件开发。领域专家需要具备深厚的主题知识。
模型:一个抽象的系统,描述了领域的所选方面,可用于解决与该领域相关的问题。
模型驱动设计:软件元素的某个子集严格对应于模型的元素。也代表一种合作开发模型和实现以便互相保持一致的过程。
模式:是一种规则,一种元素,是已经存在的解决方案(比如房子有厨房、浴室、卧室等模式)。模式语言则由服务、实体等构成。