1、单一职责原则:每个接口或者类只负责一个职责(这个原则其实很难鉴定);
2、里氏替换原则:只要父类可以出现的地方,子类就可以出现,而且替换为子类也不会出现任何的错误或者异常,但是反过来就不可以;
3、依赖倒置原则:模块之间的依赖关系通过抽象或者接口产生,实现类之间不应该产生之间的关系,其依赖关系通过抽象或者接口产生,抽象或者接口不应该依赖具体的实现类,实现类依赖抽象类或者接口;
4、接口隔离原则:(1)接口:实例接口(class),类接口(interface)(2)隔离:客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口之上;
5、迪米特法则(知道最少原则):一个类应该对自己耦合的类知道最少,被调用的类的内部实现如何复杂我都不关心,我只知道被调用的类提供了哪些public的方法,其他的我一概都不关心;
6、开闭原则(最重要):对扩展开放,对修改关闭。
本文参考《设计模式之禅》,如有疑问,请参考《设计模式之禅》。