适配器模式(adapter pattern)
有的安卓开发会问适配器模式是不是就是listview展示列表时用到的adapter啊?的确,这里确实是adapter pattern 的思想,但到底如何解释呢?我想谈谈自己的思考。
adapter pattern中文解释如下:将一个类的接口变换成客户端所期待的另一种接口,从而使原本接口因接口不匹配而无法在一起工作的两个类能够在一起工作。
android中使用到listview、viewpager(v4)、recycleview(v7)时候都需要用到adapter,虽然他们用到的adapter不同(BaseAdapter,PagerAdapter,RecyclerView.Adapter),但是为什么都会叫adapter呢?
其实,这里叫adapter的意义是:把数据和视图结合通过listview(viewpager(v4)、recycleview(v7))展示出来的适配器。
无论你是什么数据,什么视图,都可以通过adapter适配之后传入listview(viewpager(v4)、recycleview(v7)),只要你把数据源,视图同时传入adapter,重写adapter里面的默认方法,在调用他们都有setAdapter方法。这样就能很方便的用我们想要的样式展示我们的数据。一个adapter同时适配了两个东西(数据源,视图)。真是很棒的一个设计思想。
下面我还想谈谈,适配器模式在android中其他地方的提现:
1、很多时候我们在开发一款app的时候,都是按照约定(接口文档),同时进行客户端和服务端(接口)的开发。客户端和接口并行开发,会导致一个问题:客户端和服务端的对象字段大多情况是不完全统一的(当然,完全按照接口文档开发是不会出现此问题的,但谁又能保证接口文档不做修改,或者其他等等问题导致字段不统一问题,相信大家都会遇到过)。这时候我们通常会写一个解析方法:把服务端的对象转成本地对象使用,该方法最好写成通用方法,甚至可以写成构造函数,这样就解决了字段不统一问题。其实这就是一个适配器模式的体现。
2、其他,待补充。。。。