设计模式可以避免代码重复,增加可维护性。
领域驱动设计就是一种软件开发设计模式,其目的是在于让软件系统再实现时准确地对真实业务过程的建模并随时根据真实业务的调整而调整。领域模型使开发人员可以表达丰富的软件功能需求,由此实现的软件可以满足用户真正的需求,因此被公认为是软件设计的关键所在。
领域驱动设计的和信心基础,即领域驱动设计重视的是专注于业务问题域的需要:其专业术语,开发该软件的关键原因,以及对于业务来说什么是成功。
DDD可以帮助架构可维护和可扩展的应用程序,做好为用于大型复杂问题域的复杂软件进行架构和维护管理的准备。
DDD是让你的代码和问题域保持一致的处理过程。
本书及技术概览
问题域
在你可以开发一个解决方案之前,你必须理解其问题。
DDD强调专注于问题域的需要:其专业术语,为何开发该软件的关键原因,以及对于业务来说什么才是成功。
业务团队需要像技术专家那样看中领域知识,这一点对于获得问题域的更深刻的见解以及将大的领域分解成较小的子领域至关重要。
解空间
本身内容结构
1 | 第一部分:领域驱动设计的原则与实践 |
|
DDD是一种思想体系,它有助于应对为复杂领域构建软件的挑战。该思想体系中语言,协作和上下文是DDD最重要的方面,以及它远不止是一个代码模式的集合。 |
|
理解一个复杂问题域对于创建可维护的软件来说是必不可少的。 与领域专家一起进行知识提炼。 详细介绍让团队能够协作,实验并且向领域专家学习以便创建一个有效的领域的技术。 |
|
如何提炼大型问题域以及识别出一个问题的重要部分:核心领域。 将更多的时间和精力花费在核心领域上,且应该将不重要的支撑域和通用域割裂开来。 |
|
为了让业务成员和技术团队协作,就需要一个单一模型。 通用语言对问题空间的共识能够将分析模型与代码模型绑定起来。 公共语言的概念是DDD的核心并且会强化思想体系。 |
|
应用程序中领域模型的作用及其承担的责任上进行了扩充介绍。 介绍能用于实现领域驱动的各种模式以及他们最适用于哪些情况。 |
|
大型解决方案中,可能存在多个模型。 重要的是保护每个模型的完整性,以避免语言和概念中的歧义被不同团队不适当的重复使用。被称为有界上下文的战略模式旨在隔离和保护有界上下文中的模型,同时确保它能与其他模型协作。 |
|
使用一个上下文映射来理解应用程序中不同模型之间的关系以及它们如何集成对于战略模式至关重要。 上下文之间的映射不仅包含技术集成,还会包含团队之间的政治组织关系。 上下文映射提供了一个视图,它能帮助团队在整个环境的上下文中理解其模型。 |
|
应用程序需要能够利用模型来满足业务用例。 这里将介绍应用程序的架构模式,以便维护领域模型的完整性。 |
|
在应用DDD时团队遇到的问题,以及指导何时不需要使用它。 介绍,将DDD应用于简单问题会导致过度设计的系统和不必要的复杂性。 |
|
推广应用DDD以及开始将其原则和实践应用于你的 项目的技术。 相对于创建完美的领域模型,探究和实验为何对于构建伟大软件更为有用。 |