1.开放-封闭原则
类应该对扩展开放,对修改关闭。使用接口及抽象类实现
目的:减少影响原有的方法
2.依赖倒置原则
高层模块不应该依赖低层模块,两者都应该依赖其抽象。
- 依赖抽象类,不要依赖具体类
- 针对接口编程,不要针对实现编程
目的:解耦合
3.单一职责原则
就一个类而言,应该仅有一个引起它变化的原因
- 当一个类耦合了多个职责,当其中一个职责发生变化的时候,就会影响其他的职责
- 比如,页面和实现逻辑的分离
4.接口隔离原则
用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口
一个类对一个类的依赖应该建立在最小的接口上(ps: 类是一个泛指,如接口,抽象类等都是类)
目的:解耦
5.迪米特原则
一个对象应该对其他对象保持最少的了解,也叫最少知道原则
尽量降低类与类之间的耦合
多用组合,少用继承
目的:类与类之间的松耦合
6.里氏替换原则
子类可以在程序中代替其基类(父类)