通过理论,代码示例,Android源码来学习适配器模式
介绍
适配器模式在我们开发中使用率极高,从最早的 ListView、GridView 到现在的 RecyclerView 都需要使用 Adapter ,并且在开发中我们遇到的优化问题,出错概率较大的地方也基本都出在 Adapter,这是一个让人又爱又恨的角色。
说到底,适配器是将两个不兼容的类融合到一起,它有点像粘合剂,将不同的东西通过一种转换使得它们能够协作起来。例如,经常碰到要两个没有关系的类型之间进行交互,第一个解决方案是修改各自类的接口,但是如果没有源代码或者我们不愿意为了一个应用而修改各自的接口,此时怎么办?这种情况我们往往会使用一个 Adapter,在这两种接口之间创建一个 “混血儿” 接口,这个 Adapter 会将这两个接口进行兼容,在不修改原有代码的情况下满足需求。
定义
- 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
使用场景
- 系统需要使用现有的类,而此类的接口不符合系统的需要,即接口不兼容。
- 想要建立一个可以重复使用的类,用于一些彼此之间没有太大关联的类,包括一些可能在将来引进的类一起工作。
- 需要统一的输出接口,而输入端的类型不可预知。