ImageLoader图片加载架构设计
2023-03-20 08:47:14 10 举报
基于策略模式设计的图片加载器架构
作者其他创作
大纲/内容
GlideLoader
+ beginRequest(ImageLoaderBuilder) //拿到所有参数,开始组装
PicassoLoader
策略具体实现算法
ImageLoaderBuilder
包含所有关于图片加载所需要的参数设置提供清除参数的方法,用来对该对象的所有参数进行重置提供into方法,回调到ImageLoaderFactory中去
IImageLoaderStrategy
ImpStrategy01
+ beginRequest(ImageLoaderBuilder) //开始加载逻辑
持有抽象接口
UML类图设计
持有
IStrategy:策略抽象接口
承载图片加载的具体参数配置,因为考虑到每个图片加载都需要一个Builder类,所以设计为享元模式,复用内存
对外提供使用,策略模式中的环境类
继承关系
ImageLoaderFactory
- instance:ImageLoaderFactory- mLoader:IImageLoadeStrategyr = GlideLoader
- ImageLoaderFactory() //无参构造器,私有化+ getInstance():return ImageLoaderFactory //单例实现+ setImageLoader(IImageLoaderStrategy) //策略配置方法+ with(Activity): ImageLoaderBuilder //Builder入口,提供重载方法+ into(ImageLoaderBuilder) //提供给外部自定义Buidler配置
策略模式下的业务
策略模式
持有关系
对环境提供公用算法API,旨在统一各种第三方加载框架的主要加载活动
ImageLoaderBuilder类
Builder模式下的业务
实现接口
Context:具体使用环境
不持有Builder类,对对方配置参数仅做到传递作用,传递给策略算法去具体使用
收藏
收藏
0 条评论
下一页