总原则
开放-封闭原则:对修改进行封闭,在原有程序需要拓展的时候,不能去修改原有的代码逻辑,而是进行拓展,实现一个热插拔(可以新增或者舍弃),这样可以使程序的扩展性更好,易于维护和升级
原则
1.单一原则:如果一个类会发生变更,就应该将类进行拆分,否则会发生混乱。比如我们有一个T管理p1,p2,当p1发生变化的时候 就可能会导致p2也发送变化。
- 优点
- 降低类的复杂度,一个类只负责一项职责。
- 提高类的可读性,可维护性
- )降低变更引起的风险
- 里氏替换原则 :任何基类出现的地方,子类都能够替换它。 在继承中就是遵循里氏替换原则,所以原则上我们不应该去重载或者重写方法
- 依赖倒转原则:高层模块不应该依赖底层模块,两者都应该依赖其抽象,抽象不应该依赖细节, 细节依赖抽象,在java中抽象指的就是抽象类和接口,而细节就是具体实现的类,抽象制定规范,细节交给实现类去展现。
- 接口隔离原则:每个接口不应该存在被子类不需要实现的方法。如果不然,就需要将接口进行拆分,使用多个隔离的接口会比单个(多个集合)的效果好的多。
这里注意的是单一职责注重职责,而接口隔离原则注重对接口依赖的隔离;二,单一职责是约束类,其次是方法,针对的是程序中的实现和细节;而接口隔离原则约束的是接口,针对的是抽象,程序整体框架的构建。
5.迪米特原则(最少知道法则):一个类对自己依赖的类知道的越少越好,换句话说就是对依赖类不管有多复杂,我们应该将他封装在内部,通过public方法对外提供,
6.开闭原则:一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。
当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
当我们遵循前面介绍的5大原则,以及使用23中设计模式的目的就是遵循开闭原则。