23种设计模式--六大设计原则
开闭原则、单一职责原则、里氏替换原则、依赖倒转原则、接口隔离原则、迪米特法则(最小知识法则)和合成复用原则。
总原则:开闭原则
对扩展开放,对修改关闭。这对模块、类或方法都生效,是为了让程序扩展性更强,更容易维护和升级。要做到这一点,需要使用接口或抽象类来实现,具体实现的原则还要按照以下六大原则。
1. 单一职责原则
对一个类来说,应该尽可能只有一个职责,即只有一个影响他变化的原因。 如果类承担职责过多,在后期维护和修改时会有很多麻烦。
2. 里氏替换原则
子类必须能够替换父类。意思是说只有当所有的子类都能够替换父类时,父类的功能才是通用的。该原则要求所有的子类的代码都完整实现了父类的逻辑(重用或重写),这样在使用是就可以使用父类或者接口的方法了。
3. 依赖倒转原则
面向接口编程,要求依赖接口,而不是实现类。这样在实现类修改的时候,不会对调用方有影响。
4. 接口隔离原则
接口中不能存在实现类用不到的方法,如果有,需要拆分到另一个接口。使用多个隔离的接口比单个接口的职责更清晰。
5. 迪米特法则(最小知识法则)
首先一个类应该把复杂的逻辑放在自己内部,只通过public方法暴露必须暴露的方法;
其次,如果两个类不必直接通信,那么两个类不应该发生直接的相互作用,这强调了类之间的松耦合。耦合越低,复用性越好。
6. 合成复用原则
尽量首先使用组合、聚合的方式,而不是使用继承。