七大原则有:
- 单一原则原则
- 接口隔离原则
- 依赖倒转原则
- 里氏替换原则
- 开闭原则
- 迪米特法则
- 合成复用原则
1 单一职责原则
1.1 基本介绍
对类来说的,即一个类应该只负责一项职责。 如类A负责两个不同的职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。
1.2 应用实例
交通工具
单例模式:static private 懒汉写开,饿汉写一块。
2 接口隔离原则
2.1 基本介绍
客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
类A通过接口Interfacel 依赖类B,类C通过接口Interface1 依赖类D,如果接口Interfacel 对于类A和类C来说不是最小接口,那么类B和类D必须去实现他们不需要的方法。
按隔离原则应当这样处理:
将接口Interface1拆分为独立的几个接口类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则
3 依赖倒转原则
4 里氏替换原则
尽可能少的重写父类,创建更加基础的基类,让A和B都去继承这个基类,原有的继承关系去掉,采用依赖,聚合,组合等关系代替。
5 开闭原则
开闭原则是编程中最基础,最重要的设计原则
当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
6 迪米特法则
(最少知道原则)
陌生的类最好不要以局部变量的形式出现在类的内部。只与直接朋友通信
直接朋友:我们称出现成员变量,方法参数,方法返回值中的类为直接朋友。
非直接朋友应该封装起来。
迪米特法则至少要求降低类与类直接的耦合,而不是不能耦合。
7 合成复用原则
原则是尽量使用合成/聚合的方式,而不是使用继承。