| 提出 | Bertrand Meyer(1988) |
|---|---|
| 落地 | 策略、多态、插件注册、配置驱动 |
| 配合 | 先稳定变化点,再定义扩展接口 |
扩展点形态
扩展点形态
// 新增支付方式:只新增类 + 注册,不改调用链
interface PaymentMethod { PayResult pay(Order o); }
class Alipay implements PaymentMethod { ... }
class WechatPay implements PaymentMethod { ... }OCP 不是「永不修改」:扩展点本身仍会演进,只是把变化集中到少量稳定接口。