实现领域驱动设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 DDD入门

设计不只是感观,设计就是产品的工作方式。

——Steve Jobs

我们都致力于开发高质量的软件。通过测试,我们可以消除软件系统中大量的bug。然而,即便我们的软件中没有bug,也不能表示我们设计的软件模型本身就是好的。软件中存在少量的瑕疵是无可厚非的,而同时,我们是可以设计出能够准确表达业务意图的软件模型的。

领域驱动设计(DDD)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。本书便是帮助你如何正确实现DDD的。

你可能是个DDD新手;也可能做过一些DDD尝试而目前正苦苦地挣扎着;还有可能你已经成功地运用了DDD。不管如何,你都希望通过本书来提高自己的DDD技能,我相信你是可以的。以下是本章的学习路线图:

本章学习路线图

• 了解DDD可以为你的项目和团队带来哪些好处

• 如何确定你的项目是否适合采用DDD

• 了解DDD的常见替代方案和它们将导致问题的原因

• 学习DDD的基础

• 学习如何向你的管理层、领域专家和技术成员推销DDD

• 了解使用DDD时所面临的挑战

• 看看一个正在学习采用DDD的团队是如何工作的

那么,你应该期待从DDD中得到什么呢?首先,DDD不应该是一个仪式性的过程,更不应该成为你项目进度的阻碍。此时你可以采用敏捷开发方法,或者寻找另外的方法来帮你更深层次地了解自己的业务领域。我们的目标应该是创造一个可测试的、可伸缩的、组织良好的软件模型。

DDD同时提供了战略上的和战术(Tactical)上的建模工具来帮助我们设计高质量的软件模型。.