我们面临的真正挑战是找到深层次的模型。
深层次的模型其中内含深刻的业务逻辑,挖掘出深层次的模型对于我们搭建模型有至关重要的作用。我们最终的目的是捕捉领域深层含义的模型。我们要保证设计出的软件更符合领域专家的思维方式,软件不仅仅只是一个工具,更重要的是在目的业务活动中发挥真正的作用。
开发使用的模型需要具备的特点:
1)复杂巧妙的领域模型是可以实现的,也值得我们花力气去实现的。
2)任何模型都需要不断地重构去完善的,重构不仅仅是对代码层面的深入学习更应该需要领域专家和热爱领域相关知识,来对业务进一步的深化理解。
3)为了灵活运用模型,需要精通设计技巧。
重构
重构在于不改变软件功能的前提下重新设计它。
我们要在开发过程中小幅调整设计,并且借助单元测试套件来对代码进行安全的测试。(TDD)
重构要做的不仅是代码的深入,还应包括设计模式,业务内容进行重构。重构不仅可以理解代码实现,也能理解为何事先的个中原因。
深层模型
深层模型能够穿越领域表象,清楚地表达出领域专家们的主要关注点以及最相关的知识。
不仅仅看如何实现功能,更要理解为何实现。
柔性设计
重构的目的是对最需要修改的地方增添灵活性。
但是发现这部分的内容需要长久的积累,代码与模型也要相辅相成,代码如果无法重构,所建立的模型也就停滞不前了。