1. 单一职责原则
一个类只有一个职责,只有一个原因引起变化
最大的好处是复用,类、接口拆得够小,复用的可能就越大
需求变化引起的修改少
2. 里氏替换原则
父类出现的地方子类都可以出现
子类必须实现父类的所有方法
为了实现面向接口/面向抽象编程
3. 依赖倒置原则
高层依赖不依赖低层,依赖于抽象
抽象不依赖于细节,细节依赖于抽象
本质就是面向接口编程
接口、抽象的实质就是契约
抽象将不同的实现方式进行和约束和职责划分,是软件设计中的精髓
各个类之间松耦合
4. 接口隔离原则
- 尽量不要依赖不需要的接口,这就要求接口拆得足够细
5. 迪米特法则(最少知识原则)
一个类对另一个类需要知道的越少越好
一个类只和自己的朋友类交流,朋友类包括出现在成员变量和参数的类
不要在方法体中直接调用其他类,这样耦合度太高
6. 开闭原则
总原则
对修改关闭,对扩展开放
尽量通过增加代码而不是修改原有代码来实现新的需求变化
软件设计时要有足够的抽象