1、单一职责原则
1)单一职责原则英文名为 Single Responsibility Principle,缩写SRP。
2)重点在于如何划分一个类、函数的职责,一般一个函数应当完成一个小功能,对于两个完全不一样的功能不应该放在一个类中。
2、开闭原则
1)开闭原则英文名为 Open Close Principle, 缩写OCP。
2)定义:软件中的对象(类、函数等)对于扩展是开发的,但对于修改是关闭的。意思就是当我们需要对软件进行变化或升级时,应当尽可能的通过扩展的方式去实现变化,而不是修改原有的代码。例如可以通过接口、继承的方式来实现。
3、里氏替换原则
1)里氏替换原则英文全称为 Listov Substitution Principle, 缩写是LSP。
2)里氏替换原则主要依赖于继承和多态两大特性。父类有抽象方法需要子类去实现,调用父类的某个方法能够让子类发生一定的改变。
例如下代码:
public class Window{
public void show(View child){
child.draw();
}
}
public abstract class View{
public abstract void draw();
}
public class Button extends View{
@Override
public void draw() {
}
}
public class TextView extends View{
@Override
public void draw() {
}
}
4、依赖倒置原则
1)依赖倒置原则英文全称为Dependence Inversion Principle,缩写DIP。
2)依赖倒置原则主要是指高层次的模块不依赖与低层次的模块实现细节,也就是说抽象不依赖于细节。在Java中抽象主要是指抽象类或接口,细节主要是指实现类。
5、接口隔离原则
1)接口隔离原则英文全称为 InterfaceSegregation Principles,缩写ISP。
2)接口隔离原则主要是指客户端不应该依赖它不需要的接口,也就是说类间的依赖关系应该建立在最小的接口上。
6、迪米特原则
1)迪米特原则英文全称为 Law of Demeter,缩写为LOD。
2)迪米特原则主要是指一个对象应该对其他对象有最少的了解,也就是说一个类对调用的类知道得最少,类的内部实现与调用者没有关系,调用者只需要知道它需要的方法。