OCP原则:“对扩展开放,对修改关闭” 这句话是简述,其实隐藏了重要的主语.真正的意义是:对使用者修改关闭,对提供者扩展开放. 例如: class A 和 class B.A调用了B的一个方法,那么A就是consumer,也就是使用者.B就是provider,提供者.对使用者修改关闭是指业务逻辑上有了调整,那么作为consumer自身的代码应该保持不变,无需修改. 对扩展开放,这句话中的扩展是很重要的一个词.它说明了变化针对的是现有的功能,只有现有的功能修改了才叫扩展.新增加的功能并不能叫扩展.