面向对象六大原则
2022-09-11 本文已影响0人
學绘u
(个人笔记,理解不同不提供参考意见)
单一职责原则:
一个类是一组相关性很高的函数、数据的封装,例如图片加载框架,缓存在一个类,图片显示在一个类,这样修改缓存方案的是不会涉及到图片显示是数据加载逻辑
开闭原则:
对扩展开放,对修改关闭,图片框架需要扩展双缓存和自定义缓存的时候,我们通过接口定义在图片显示的时候可以使用put和get方法,通过注入缓存方式过来实现,至于具体的缓存实现方案可以通过实现接口来处理,达到对扩展开发原则
里氏替换原则:
核心就是抽象,父类能出现的地方,子类替换后不会产生任何错误,例如view的三个绘制流程方法,不管那个子View替换后window都能正常绘制,可以达到开闭原则的效果
依赖倒置原则:
实现类之间不发生直接的依赖关系,其依赖关系通过接口或抽象类产生,例如图片框架我们加载缓存不直接使用已经实现了内存缓存的类,只依赖一个抽象类,当需求需要的时候实现这个抽象类,并将他注入到框架内即可替换各种缓存功能
接口隔离原则:
说白了就是让客户端依赖的接口尽可能地小,就像网络框架,暴露给客户端的数据回调,不需要客户端知道怎么处理进行的网络请求流操作
迪米特原则:
只和最直接的朋友通信,例如找房子,直接把要求告诉中介,中介根据你的要求去找房子,我们不用和房东打任何交道就能实现需求