领域驱动设计(DDD)中子域(subdomain)概念疑惑及图示矛盾解惑
关于《Implementing Domain-Driven Design》中子域与限界上下文图示差异的解答
两张图里的**子域(Subdomain)**是同一核心概念的不同视角呈现,并非矛盾,差异源于分析的层级和范围不同:
第一张图的子域:限界上下文内部的业务细分模块
这张图是从单个限界上下文的业务落地视角出发,把一个相对独立的限界上下文(比如零售场景的「订单管理」上下文),进一步拆分成更细的业务单元——比如「订单创建」「支付校验」「物流状态同步」这类子域。它们是限界上下文内部的业务粒度拆分,目的是让团队聚焦于上下文内更小的业务逻辑块,降低实现复杂度。第二张图的子域:企业全局的领域分类
这张图是从企业整体业务的战略视角划分的:核心子域是企业的核心竞争力(比如零售的「动态定价」「智能库存」),支撑子域是为核心业务服务的配套领域(比如「会员积分管理」),通用子域是跨业务的通用功能(比如「用户权限控制」)。此时限界上下文是这些子域的落地载体——一个子域(比如核心子域的「智能库存」)通常会对应一个或多个限界上下文来实现。本质逻辑:层级嵌套的分析思路
DDD的领域分析是分层推进的:先从全局战略层面划分大的子域(对应第二张图),再针对每个子域,拆分出独立的限界上下文来界定技术和团队边界;而当单个限界上下文的业务逻辑足够复杂时,还可以在其内部继续拆分出更细的子域模块(对应第一张图)。两者都是对业务领域的逻辑拆分,只是范围和粒度不同,不存在概念冲突。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

