单一职责原理:
-
基本介绍:对类来说的,一个类只负责一项职责
-
注意事项和细节:
1、降低类的复杂度,一个类只负责一项原则 2、提高了类的可读性,可维护性 3、降低更换引起的风险 4、只有逻辑足够简单,才可以在代码上违反单一职责原则;只有类中的方法足够少,可以在方法级别保持单一职责原则
接口隔离原则
-
基本介绍:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上
-
处理:将接口interface拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系
依赖倒转(倒置)原则
-
基本介绍:
1、高层模块不应该依赖低层模块,二者都应该依赖其抽象 2、抽象不应该依赖细节,细节应该依赖抽象 3、依赖倒转的中心思想是面向接口编程 4、设计理念:抽象要稳定的多,以抽象为基础搭建的架构比以细节为基础的架构要稳定的多,在java中,抽象指接口或抽象类,细节是具体的实现类 5、使用接口或抽象类的目的是指定好规范,而不涉及任何具体的操作,把展现细节任务交给他们的实现类去完成
-
举例:
class Person{
public void receive(Email email){
//实现接收消息
}
}
//从上述代码可看出,Person直接依赖类Email时,如果接收消息有其他类型的消息时,需要重写receive方法,如果使用接口方式,
//如有新的方式增加时,只需继承该抽象,在客户端构建其具体实现类即可,无需重写receive方法,大大增强了扩展性
- 注意事项和细节
1、低层模块尽量都要有抽象类或接口,或者两者都有,程序稳定性更好
2、变量的声明类型尽量是抽象类或接口,这样我们的变量引用和实际对象间,就存在一个缓冲层,利于程序扩展和优化
3、继承时遵循里氏替换原则
里氏替换原则
- 基本介绍:原来的父类和子类都继承一个更通俗的基类,原有的继承关系去掉,采用依赖,聚合,组合等关系代替,在子类尽量不要重写父类的方法
开闭原则
- 基本介绍:是编程中最基础最重要的设计原则,一个软件的实体如类,模块和函数应该对扩展开发(提供者),对修改关闭(使用者),用抽象构建框架,用实现扩展细节
迪米特法则
- 基本介绍:又叫最少知道原则,即一个类对自己的依赖的类知道的越少越好,尽量将逻辑封装在类的内部,对外提供public方法,不对外泄露任何信息。
合成复用原则
- 基本介绍:原则是尽量使用合成/聚合的方式,而不使用继承