上一部分介绍了模型的基本构造块,我们明白了模型与技术落地之间的关系。通过这些构造块的组合,实现DDD。但是并没有谈及一些深奥的设计原则。第三部分,我们将介绍一些重要的设计原则,来指引我们对现有架构进行重构。
第三部分 通过重构来加深理解
重构就是在不改变软件功能的前提下重新设计它。好的模型不是一次就构建出来的,需要不断的重构。重构是无止境的,但也不是随机的。这部分阐述了一些指引我们保持正确方向的建模原则。我们可以利用这些原则改进我们的设计。
这里提及的重构,不是代码级别的重构(有一本书叫《重构 改善既有代码设计》,讲的就是代码级别的重构)。我们这个重构有所不同,指的是,在充分理解业务的情况下,更新领域模型。虽然这类重构也有一些成功的例子供我们学习,但是我们不能照本宣科,终究还是要自己发挥创造力。本部分的六章,也只是在谈一些思维方式和指导思想,在具体设计上,还要具体问题具体分析。
第八章讲了一个真实的重构的项目;要想进行重构,需要可以捕捉到领域核心概念。第九章将会介绍如果捕捉这些概念(将隐式概念转为显示概念);要想进行重构,系统本身也要具备一定的可修改性(即作者谈到的“柔性”)。第十章的柔性设计将介绍如何使设计更加“柔性”;有时,你也可以借鉴别人已经建好的模式。这些将在第十一章“分析模式”和第十二章“设计模式”中进行介绍。虽然这些模式都不是现成的解决方案,但对我们理解消化领域知识提供了一定的帮助作用。第十三章是对整个第三部分的总结。
第八章 突破
本章举了一个融资项目的例子,讲了作者通过对业务更深入的理解,重构了现有领域模型。虽然改造过程非常费时间