知识卡片
自顶向下与自底向上两种建模策略的适用场景
内容
构建中台业务模型有两种领域建模策略。自顶向下策略先做顶层设计,从最高级领域逐级分解为不同子域(中台),分别构建领域模型,再按重要性归类为核心中台或通用中台——这个过程主要基于业务现状和企业未来战略目标,不太受现有系统建设现状的限制,因此比较适合全新应用系统建设,或者遗留系统推倒重建的场景。自底向上策略则相反,基于现有的业务和系统建设现状来重构中台领域模型:先把系统所在业务领域里公共的、重复建设的业务能力沉淀到中台,经过抽象和标准化处理后完成领域模型重构——这个策略比较适合遗留系统领域模型的演进式重构,因此也适合单体应用向微服务架构演进的场景(书中提到第23章会讲到从单体演进到微服务时用到的”绞杀者”策略)。两种策略的分野本质上是”能否推倒重来”:如果没有历史包袱、可以从零设计,自顶向下能一步到位地划出理想边界;如果已经有大量存量系统在运行、不可能推倒重来,自底向上则能在不停机、渐进式的前提下逐步把分散的能力收拢成可复用的中台模型。
参考来源
- 位置:第13章《如何用DDD重构中台业务模型》"13.3.1 自顶向下的策略"、"13.3.2 自底向上的策略"(源文件:_epub-src/OEBPS/Text/chapter4-2-3-1.xhtml、chapter4-2-3-2.xhtml)
- 结论依据:原文说明"自顶向下的领域建模过程主要基于业务现状和企业未来战略目标,不过多考虑系统建设现状。所以它比较适合全新的应用系统建设,或遗留系统推倒重建的建设模式……自底向上策略基于业务和系统建设现状来重构中台领域模型……自底向上策略比较适合遗留系统领域模型的演进式重构,因此也适合单体应用向微服务架构演进",直接支撑本卡片结论。
- 原始内容:自顶向下的领域建模过程主要基于业务现状和企业未来战略目标,不过多考虑系统建设现状。所以它比较适合全新的应用系统建设,或遗留系统推倒重建的建设模式……自底向上策略比较适合遗留系统领域模型的演进式重构,因此也适合单体应用向微服务架构演进。