每个软件程序是为了执行用户的某项活动,或是满足用户的某种需求。
这些用户应对软件的问题区域就是软件的领域。
领域模式并非某种特殊的图,而是这种图所要传达的思想。它绝不单单是领域专家头脑中的知识,而是对这类知识严格的组织且有选择的抽象。图可以表示和传达一种模型,同样,精心书写的代码或文字也能达到同样的目的。
领域建模并不是要尽可能建立一个符合”现实”的模型。即使是对具体、真实世界的事物进行建模,所得到的模型也不过是对事物的一种模拟。它也不单单是为了实现某种目的而构造出来的软件机制。建模更像是制作电影–出于某种目的而概括的反映现实。
模型在领域驱动设计中的作用
- 模型和设计的核心互相影响
- 模型是团队所有成员使用的通用语言的中枢
- 模型是浓缩的知识
软件的核心
软件的核心是其为用户解决领域相关的问题的能力。
所有其他特性,不管有多么重要,都要服务于这个基本目的。
当领域很复杂时,这是一项艰巨的任务,要求高水平技术人员的共同努力。
有效建模的要素
- 模型和实现的绑定
- 建立一种基于模型的语言
- 开发一个蕴含丰富知识的模型
- 提炼模型
- 头脑风暴和实验
知识消化
高效的领域建模人员是知识的消化者。它们在大量信息中探寻有用的部分。