知识卡片

子域与限界上下文的问题空间答案空间之分

普通读书笔记卡 · 1978.ba.3.b

内容

子域是问题空间的划分——按业务边界把大领域切成小块;限界上下文是答案空间——给每个领域模型划出一个确定含义的边界,就像自然语言里同一个词只有在确定上下文中意思才明确。理想情况一个子域对应一个限界上下文,但实际中可能一对多或多对一。发散:这组区分提醒拆分微服务时不能只按子域画边界,还要检查模型语义是否在该边界内保持单一确定,否则会出现同一个词(如’订单’)在不同服务里含义打架。

参考来源

- 位置:第15章《技术架构与业务架构的融合》15.5节「领域驱动设计与微服务架构的"合"」(源文件:_epub-src/text/part0021.html) - 结论依据:原文明确"子域是问题空间,限界上下文是答案空间",并用自然语言中同一个词在不同上下文含义不同来类比,同时说明两者并非严格一一对应,直接支持卡片结论。 - 原始内容:"子域是问题空间,限界上下文是答案空间。限界上下文是为了给每个领域模型有一个确定的含义。就像在自然语言中一样,同一个词在不同的上下文中有不同的意思;只有在一个确定的上下文中,一个词的意思才是明确的……理想情况下:一个子域对应一个限界上下文;但实际中,可能一个限界上下文对应多个子域;或者反过来,一个子域对应多个限界上下文。"