DDD入门
设计不只是感观,设计就是产品的工作方式。 -Steve Jobs
我们都致力于开发高质量的软件。通过测试,我们可以消除软件系统中大量的bug。然而,即便我们的软件中没有bug,也不能表示我们设计的软件模型本身就是好的。软件中存在少量的瑕疵是无可厚非的,而同时,我们是可以设计出能够准确表达业务意图的软件模型的。
领域驱动设计(DDD)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。本书便是帮助你如何正确实现DDD的。
你可能是个DDD新手;也可能做过一些DDD尝试而目前正苦苦地挣扎着;还有可能你已经成功地运用了DDD。不管如何,你都希望通过本书来提高自己的DDD技能,我相信你是可以的。以下是本章的学习路线图:
本章学习路线图
* 了解DDD可以为你的项目和团队带来哪些好处
* 如何确定你的项目是否适合采用DDD
* 了解DDD的常见替代方案和它们将导致问题的原因
* 学习DDD的基础
* 学习如何向你的管理层.领域专家和技术成员推销DDD
* 了解使用DDD时所面临的挑战
* 看看一个正在学习采用DDD的团队是如何工作的
那么,你应该期待从DDD中得到什么呢?首先,DDD不应该是一个仪式性的过程,更不应该成为你项目进度的阻碍。此时你可以采用敏捷开发方法,或者寻找另外的方法来帮你更深层次地了解自己的业务领域。我们的目标应该是创造一个可测试的、可伸缩的、组织良好的软件模型。
DDD同时提供了战略上的和战术(Tactical)上的建模工具来帮助我们设计高质量的软件模型。