承接上一篇《插件化原理概览:Hook 与动态加载》,那一篇讲的是「代码能不能被动态替换」,这一篇讲一个更常用、成本低得多的手段:通过配置控制功能的开关与灰度。它不需要任何 Hook,却能覆盖大部分「分批放量、风险控制、效果验证」的需求。结论先行:功能开关的价值不在于「关掉一个功能」,而在于「让功能的生效范围成为可配置的参数」。一旦生效范围变成配置,就同时获得了灰度、回滚、A/B 实验这三项能力——这是配置驱动架构的真正收益。一、开关的三种粒度从粗到细,开关可以作用在三个层次。粒度控制什么生效时机典型用途构建期编译时打进去的代码分支构建渠道定制、去除某功能启动期应用启动时读取一次,进程内不变冷启动大功能开关、实验分组运行期每次调用点实时判断任意时刻精细降级、动态调整多数项目只需要启动期,运行期要谨慎。原因在第三节会讲清楚。/