1背景
随着系统规模演进,经常出现如下问题:
- 沟通成本变大
- 代码质量变差
- 回归问题
- 单体架构导致的需求更新等待
- 不支持横向扩展
2.解决方案-拆分系统
拆分的方法是什么呢--根据DDD的限界上下文.
限界上下文的目的还在于维护概念一致性。 DDD 认为,面对大规模的系统,全局概念一致性从根本上是不可能的。 这时候,就要把大系统分解成若干子系统,每个子系统对应一个领域模型。每个模型的规模都不超过一个开发小组的认知负载。在每个子系统的内部实现概念的严格一致性,而不同系统内部之间则没有必要一致。
概念的一致性是通过语义上的一致性来表达的,所以 Evans 引用了语言学上“上下文”(context)的术语,来表示一个子系统、子模型或者维护这个子系统的团队。
在日常谈话的时候,人们常常会随时切换上下文,不一定会影响沟通。但在计算机软件中,一个元素要么属于一个上下文,要么不属于,这个界限必须清清楚楚。为了强调这一边界(boundary)的重要性,因此称为“限界上下文”(bounded context)。
此文章为2月Day17学习笔记,内容来源于极客时间《手把手教你落地 DDD》