聂同学

一个程序员和架构师的实践与思考

重构,以知识结构为中心(四)

为了帮助领域团队凝聚和守护领域知识,我们设计和使用了一些工具。

领域模型

最首要的工具当然是领域模型。但从零开始建立一个有些远水解不了近渴。 我们的想法是识别一点建立一点使用一点,持续地延伸和细化。

当前是划分上下文、区别领域与应用、建立团队的阶段,我们关注点就在上下文之间的边界上和领域与应用的边界上。 那么我们就以上下文之间的边界处和领域与应用之间的边界处作为我们领域模型建立的起点。

领域边界跟踪表1

上下文之间的关系非常重要,关系到知识的依赖类型,也关系到领域团队间的沟通和协作。所以我们特别关注厘清边界处的概念和它们的属主。

团队认识到的边界,往往描述为领域之间的交互场景。这时候需要从中提炼出业务概念和规则。一般以领域实体和领域事件为代表。

应用差异跟踪表

领域团队职责是维护业务的一致性。 这要求领域团队除了控制领域知识以外,对领域知识的各种应用形式必须有足够的认识和应对。 这一点在当前领域与应用的边界尚未完全明确的情况下尤为必要。

我们的切入点是总结应用形式之间的差异并制定对差异的应对策略2

(还有一些其他层面的工具,待续)


  1. “领域边界”其实是上下文边界的俗成说法,老司机也阻止不了——上下文这个名词确实不够简明。

  2. 《领域知识在各应用的形态差异及如何处理》(已打码)

架构, 重构, 领域

分享 -