领域驱动设计战略三步走
1.根据场景分析来获取领域知识;
2.根据领域知识来建立统一语言;
3.划分限界上下文;
今天来聊一聊学习到的 限界上下文
限界上下文
理解限界上下文,首先要理解两个词“限界:bounded”, “上下文:context”; “上下文”就是我们在聊天沟通过程中说话的语境、情境;不同时间我们处理的情境不同,例如常说的转场。就是从一个上下文切换到另一个上下文,这又与我们学习的计算机知识不谋而合;而限界则是分隔不同上下文的媒介;
上下文其实是动态的业务流程被边界静态切分的产物;
所以限界上下文从字面上理解就是 带有清晰可见边界的上下文;
从不同着眼点,观察角度的不同,限界上下文 边界(bounded)也有所不同,大体可以分为三个方面;
1.领域逻辑层面; - 业务边界 ->领域模型
2.团队合作层面; - 工作边界 ->团队协作
3.技术实现层面; - 应用(系统)边界 ->技术风险
引入限界上下文的目的不存在如何划分边界,而在于如何控制边界;
限界上下文是“分而治之”架构原则的体现,引入限界上下文是为了帮助做出高内聚低耦合的设计; 一个限界上下文就是一个自治单无,具体体现在这四个方面
- 最小完备;
- 自我履约;
- 稳定空间;
- 独立进化;
这四者之间的关系可以这样来形容,“最小完备”是基础,即对应最小的知识体系,例理解了四则运算我们才可能学会数学(但我们搞不定英语),有了这个基础才能 “自我履约”,举例粟子:只有掌握了四则运算你给我一道小学数据题我才会做呀; “稳定空间”则负责与对外的联系,强调的自治单元的稳定性, 只有相对稳定的事物才配有形状,名字,与之沟通才有效;“独立进化”则更强调的是对内,说明自身知识并不是一尘不变的,可以迭代与进化的;这样也符合开闭原则
控制力的表现
下面再来深入聊聊限界上下文是如何表现“控制力”,还是从前面分析的三个方面;
网友评论