定义: 一个软件实体如类、模块和函数应该对拓展开放,对修改关闭。 简单实例: 原图 拓展图 开闭原则的使用: 通过接口或者抽象类可以约束拓展,对拓展进行边界限定,不允许出现在接口或者抽象类中不存在的public方法 参数类型、引用对象尽量使用接口或者抽象类,而不是实现类 抽象层尽量保持稳定,一旦确定就不允许修改,通过拓展完成接口完成对应功能的实现。