领域驱动设计(Domain‐Driven Design,DDD)是一种开发复杂软件的方法。使用这种方法时,我们:
- 专注核心域(core domain)。
- 通过领域人员和软件人员的创造性协作来探索模型。
- 在明确的限界上下文(bounded context)中使用统一语言( ubiquitous language)。
本手册定义了DDD的上述三点概述中的术语。
许多项目虽然进行了建模,但最终没有取得太多成效。而DDD中的模式则是从那些在建模中获得了显著收益的项目中提取的成功实践。总的来说,这些模式提出了一种完全不同的建模和软件开发方法,兼顾了软件的细节和高阶愿景。一方面要考虑严格的建模约定,另一方面又要通过与非技术人员的协作对模型进行自由地探索。必须在这两者之间取得平衡。战术和战略必须结合起来才能成功,DDD解决了战术设计和战略设计两方面的问题。