1.单一职责模式
定义:一个类中应该是一组相关性很高的函数、数据的封装。
目的:便于类的维护与易读
使用场景:各种工具类、开源架构。
2.里氏替换原则
定义:所有引用基类的地方必须能透明地使用其子类的对象。
目的:主要是指为了让用户拥有某项功能的选择权而让用户自行扩展选择我们的功能类。
使用场景:对图片下载缓存模式的选择,对retrofit中数据解析格式的选择等
3.开闭原则
定义:对修改关闭,对扩展开放
目的:用户在使用类的功能时,不足以满足现阶段的需求,所以需直接使用继承类。
使用场景:各种基类的使用,常用功能类的继承
4.依赖倒置原则
定义:高层次的模块不能依赖于底层次的模块
特点:高层模块不应该依赖底层模块,两者应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象。
5.接口隔离原则
定义:客户端不应该依赖于它不需要的接口
目的:使类与类之间解耦,相互之间没有依赖关系
使用场景:流的关闭,close的调用,clone的实现
6.迪米特原则
定义:一个对象应该对其他对象有更少的了解
目的:与其他类之间的解耦
使用场景:代理模式,中介者模式等