《领域驱动设计精简版》读书六

持续重构

模型跟它所源自的领域紧密关联了。代码设计应该围绕模型展开,模型自身也会基于设计决定而有所增进。脱离了模型的设计会导致软件不能反映它所服务的领域,甚至可能得不到期望的行为。建模如果得不到设计的反馈或者缺少了开发人员的参与,会导致必须实现模型的人很难理解它。

重构是不改变应用行为而重新设计代码以让它更好的过程。重构通常是非常谨慎的,按照小幅且可控的步骤进行,这样我们就不会破坏功能或者引入某些 bug了。

有时会对领域有新的理解,有些事物变得更清晰,或者两个元素间的关系被发现。所有的这些会通过重构被包括到设计中。

建模的第一件事是阅读业务规范,从中寻找名词和动词。名词被转换成类,而动词则成为方法。这是一种简化,将产生浅层次的模型。所有的模型开始时都缺乏深度,但我们可以面向越来越深的理解来重构模型。一个忽略表面内容且捕捉到本质内涵的模型是一个深层模型。这会让软件更加和领域专家的思路合拍,也更能满足用户的需要。我们会从一个粗糙的、浮浅的模型开始,然后基于对领域的深层理解以及对关注点的理解来细化它和设计。我们会对它增进新的概念和抽象,然后执行设计的重构。每一次精化会让设计更清晰。这就建立好了突破的前提。为达到一次突破,我们需要让隐式的概念显式化。

你可能感兴趣的:(《领域驱动设计精简版》读书六)