1、单一职责原则:一个类只有一个引起它变化的原因。说白了就是,一个类只有单一的一个功能,不同的类具备不同的职责,各司其职。如果一个类有多种职责,就应该分成多个类。
2、开闭原则:对扩展开放,对修改关闭。如果需要增加功能,那么就扩展新类,而不是修改原来的类,所以在类设计时就要保证可以通过扩展的方式来添加新功能。
3、里氏替换原则:在代码中可以将父类全部替换为子类,程序不会报错。也就是父类的方法,在子类中全都有。反过来不一定行。子类可以扩展父类的功能,但不能改变父类原有的功能。
4、接口隔离原则:客户端不应该依赖它不需要的接口;一个类与另一个类的依赖应该建立在尽可能小的接口上。
5、依赖倒置原则:高层模块不应该依赖低层模块,二者一个依赖抽象;抽象不应该依赖细节;细节应该依赖于抽象。就是说要针对接口编程,不要针对实现编程。就好比手机充电器,因为充电接口是一个标准,所以自己的充电器没带时借用别人的充电器也一样能充电。
6、迪米特法则,也叫最少知道原则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。根本思想就是强调类与类之间松耦合。类之间的耦合越弱,越有利于复用。