模型中的某些部分会增加复杂性,但无助于获取或沟通专门的领域知识。任何额外的因素都会使核心域更难辨别和理解。模型中充斥着众所周知的通用性原则,或者一些专门的细节,这些细节并不是主要关注点,只是起到支持作用。然而,无论这些元素多么通用,它们对于完成系统功能以及充分表达模型,还是必不可少的。
因此:
识别出那些并不反映项目意图的内聚子域。将这些子域提取成通用模型,并将它们放在单独的模块中。不要在这些模块中记录专门的领域知识。
一旦分离出了通用子域,在后续开发中,应将它们的优先级置于核心域之后。不要将核心开发人员分配到这些任务中(因为他们从这些任务中几乎无法获得领域知识)。此外,考虑使用现成的解决方案或公开的模型来实现通用子域。