敏捷已死,而敏捷性长存。
什么是“领域地图”?是“领域模型”么?
基本上,就是的。
这是一个历史悠久的系统,历经多年的进化,长久以来团队不知道它的整体需求是怎样的,也缺少有条理的领域知识积累。风险逐渐积累。
现在到了系统整理领域知识,尝试建立领域模型的适当时机——
- 事务脚本风格向领域划分风格的重构1已经在重点局部取得了阶段性进展,现在到了推广到全局的时间了。既然是“按领域划分”,我们自然需要一个领域模型作为划分原则。
- SA同学正在整理全局“功能地图”、测试同学整理“全量测试案例”,这些东西希望能与代码发生联系,需要一个中枢。在上述的架构风格下,这个中枢只能是领域模型。 我们画了个图来分析领域模型的中枢地位。如后所示。
虽然是一种模型,但叫“地图”不叫“模型”——
- 尺度大,粒度大,只有宏观结构没有细节。是对领域的全局鸟瞰,感觉就像是面对地图。
- 强调它的最高指导意义,类比“军事地图”。感受下。:-D
- SA同学的叫做功能“地图”,我们也叫“地图”。
-
关于重构有个系列的blog即将写,届时这里换成一个链接……↩