Glide源码阅读之策略模式4总结

《Android源码设计模式解析与实践》

定义

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化

使用场景

  • 针对同一类型问题的多种处理方式。仅仅是具体行为有差别时
  • 需要安全地封装多种同一类型的操作时
  • 出现同一抽象类有多个子类,而又需要使用if-else或者switch-case来选择具体子类时

UML类图

在这里插入图片描述
角色介绍:
Context:操作策略的上下文环境
Stragety:策略的抽象;
ConcreteStragetyA、~B:具体策略实现

这个也许应该写在开头,但是我想了想还是放在最后了。前面有过类似的说明了。再加一个有点啰嗦了,但是后来想想还是重复一下比较好。对比网络上书上对同一设计模式的理解和描述,这样就更立体了。

重构

策略模式可以消除if-else 和switch-case;

总结

这一篇总结没太多可以说的。策略模式结构比较简单,理解起来并不复杂,实践起来也比较容易。

自研产品推荐

历时一年半多开发终于smartApi-v1.0.0版本在2023-09-15晚十点正式上线
smartApi是一款对标国外的postman的api调试开发工具,由于开发人力就作者一个所以人力有限,因此v1.0.0版本功能进行精简,大功能项有:

  • api参数填写
  • api请求响应数据展示
  • PDF形式的分享文档
  • Mock本地化解决方案
  • api列表数据本地化处理
  • 再加上UI方面的打磨

为了更好服务大家把之前的公众号和软件激活结合,如有疑问请大家反馈到公众号即可,下个版本30%以上的更新会来自公众号的反馈。
嗯!先解释不上服务端原因,API调试工具的绝大多数时候就是一个数据模型、数据处理、数据模型理解共识的问题解决工具,所以作者结合自己十多年开发使用的一些痛点来打造的,再加上服务端开发一般是面向企业的,作者目前没有精力和时间去打造企业服务。再加上没有资金投入所以服务端开发会滞后,至于什么时候会进行开发,这个要看募资情况和用户反馈综合考虑。虽然目前国内有些比较知名的api工具了,但作者使用后还是觉得和实际使用场景不符。如果有相关吐槽也可以在作者的公众号里反馈蛤!
下面是一段smartApi使用介绍:
在这里插入图片描述

下载地址:

https://pan.baidu.com/s/1iultkXqeLNG4_eNiefKTjQ?pwd=cnbl

posted @ 2022-01-10 14:02  lichong951  阅读(3)  评论(0编辑  收藏  举报  来源