总原则:开闭原则
开闭原则就是对扩展开放,对修改关闭。对程序进行扩展的时候,不能去修改原有的代码,而是要扩展原有的代码,实现一个热插拔的效果。所以概括一句就是:为实现程序的扩展性好,易于维护升级。
1.单一职责原则
不要存在多于一个导致类变更的原因,也就是说每一个类应该实现单一的职责,如若不然,就应该把类拆开。
2.里氏替换原则(LSP)
里氏替换原则是面向对象原则的基本原则之一。任何基类可以出现的地方,子类一定也可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受影响时,基类才能真正复用,而衍生类也能够在基类的基础上增加新的行为。
3.依赖倒换原则
这个是开闭原则的基础,具体内容是:面向接口编程,依赖于抽象而不依赖于具体。写代码用到具体类时,不与具体类交互,而与具体类的上层接口交互。
4.接口隔离原则
这个原则的意思是:每个接口不存在子类用不到却必须实现的方法,如若不然,就将接口拆开。使用多个隔离的接口,比使用单个接口要好。
5.迪米特法则(最知道原则)
就是说:一个类对自己依赖的类知道的越少越好。也就是说无论被依赖的类多么复杂,都应该将逻辑封装在方法内部,通过public方法提供给外部。这样当依赖的类变化的时候,才能最想影响该类。
6.合成复用原则
原则是尽量使用合成/聚合的方式,而不是使用继承。