目录
1.单一职责原则
一个类有且仅有一个职责(但是职责的定义很广泛,可以根据实际进行细分)。比如,我们需要维护我们的用户信息,则可以分为2个职责:用户信息的存储;用户信息的修改删除等动作。
2.里氏替换原则
主要有以下几点要求
- 子类必须完全实现父类的方法
- 子类可以有自己的个性
- 覆盖或实现父类方法时,输入参数可以放大——子类中重载的方法,参数必须是父类参数的类型或者父类
- 覆盖或实现父类方法的返回值类型需要更细致——子类返回值的类型必须是父类返回值的类型或者子类
3.依赖倒置原则
依赖倒置原则的含义:
- 高层不依赖低层模块,应该依赖抽象——模块间的依赖通过抽象产生,实现类之间不产生依赖
- 抽象不依赖细节——抽象类不依赖实现类
- 细节依赖抽象——实现类依赖抽象类
使用该原则的好处是可以减少类的耦合,提高系统的稳定。
依赖倒置原则的使用规则:
- 每个类尽量有抽象类
- 变量的表面类型为抽象类(实际类型为具体实现类)
- 任何类不从具体类派生
- 尽量不覆盖基类方法
4.接口隔离原则
类可以视作一种接口。接口隔离原则的含义如下:
- 客户端不依赖不需要的接口
- 类间依赖关系建立在最小接口上
- 遵循单一职责原则,定义尽可能小的接口
- 尽量少公布public方法
- 单独为一个个体提供服务,只提供需要的方法(单独服务某一个接口)
- 接口设计要适度,过于细化会导致维护难度加大
接口隔离原则的使用规则:
- 一个抽象类只服务于一个子模块或者业务
- 尽量减少public方法
- 修改已污染的接口
- 深入了解业务逻辑,设计接口
5.迪米特法则(最少知识原则)
一个类应该对自己需要耦合或调用的类知道的最少,不关心其内部的具体实现。
核心是:类间不耦合或者低耦合
6.开闭原则
简言之:对扩展开放,对修改封闭。即应该通过扩展来实现变化,而不是修改已有代码。
有利于提高复用性,可维护性,面向对象开发。
开源原则使用规则:
- 抽象约束——通过描述,不具体实现
- 元数据控制模块行为——通过配置参数控制
- 封装变化——相同变化封装到一起
ps:个人记录,如有问题,欢迎指正。