1.单一职责原则
2.接口隔离原则
3.依赖倒转原则
4.里氏替换原则
5.开闭原则ocp
6.迪米特法则
7.合成复用法则
一、单一职责原则
1)一个类只做一件事,只负责一项职责。降低类的复杂度
2)通常情况下,要在类的级别上遵守单一职责原则,只有在逻辑足够简单,才可以在不用在类级别遵守,而在方法级别遵守单一职责原则。
二、接口隔离原则
1)客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
解决问题:比如接口A有5个方法,类B和类C实现接口A并使用其中的一个方法,但是却要实现其他用不到的方法。
按接口隔离法则的解决方法:将接口A拆分为两个接口,类B和类C分别实现这两个接口。
三、依赖倒置原则
四、里氏替换原则 (如何正确使用继承)
基类使用的地方都能用子类来替换。实际上,继承会增加耦合性。在子类尽量不重写父类方法。在适当情况下,可以用聚合、组合、依赖来解决问题。
五、开闭原则
是最重要、最基础设计原则。模块和函数应该对扩展性(对提供方)开放,对修改(使用方)关闭。用抽象构建框架,用实现扩展细节。
六、迪米特法则
1、一个对象应该对其他对象保持最少的了解。
2.又称最少知道原则,一个类对自己依赖的类知道越少越好。对于被依赖的类,应该尽量封装在类的内部。对外除了提供public方法,不应该泄漏任何其他消息。
3.只与直接朋友通信。(直接朋友是指成员变量,方法参数,方法返回)
七、合成复用原则
尽量使用合成/聚合的方式,而不是使用继承方式。