1. 大变更的"分阶段"(phased)拆分中 Strangler Fig(绞杀者)与 Branch by Abstraction 的协同
大变更如何分阶段拆分,Strangler Fig 与 Branch by Abstraction 如何协同?
- 理解 Strangler Fig 的渐进替换思想
- 掌握 Branch by Abstraction 的抽象层做法
- 认识两者协同的分阶段步骤
Strangler Fig(绞杀者)指在不重写旧系统的前提下,用新系统逐步替换旧系统功能,最终"绞杀"旧系统,它强调增量替换与并行运行。Branch by Abstraction 指在旧实现外引入抽象层/接口,让新旧实现并存,通过抽象层逐步切换调用,最后删除旧实现。两者协同:先用 Branch by Abstraction 建立稳定契约(抽象接口),再按 Strangler Fig 思路分阶段把调用方逐步迁移到新实现,每个阶段可独立合并、测试、回滚。这使大变更被拆成可审、可验证的小步。
分阶段的本质是"把不可逆的大切换变成可逆的小步迁移"。抽象层提供"切换点",绞杀式迁移提供"逐步替换的节奏",两者结合让大变更可控、可回滚。