- 适配器设计模式
应用在哪里:
a. 想使用一个已经存在的类,而它的接口不符合你的需求,想修改一个已经投产中的接口时,
b. 想创建一个复用的类,该类可以与其他不相关的类或不可预见的类协同工作
c. 为了以后能扩展,让别人去继承实现接口,以达到适配的目的
d. 需要一个统一的输出接口,而输入端的类型不可预知
案例1: 图形绘制软件,Shape类,子类,LineShape, PolygonShape等等基本的图形的绘制。 但现在希望绘制TextShape, 有已经存在的控件TextView。 用TextShape去适配,以便提供给绘图软件的是统一的接口。可以TextShape继承 TextView,也可以TextView以对象的形式传递给TextShape
案例2: 不同的解压缩库,库是不一样的,但需要暴露给外面使用的接口需要统一,在各个适配器类里面,保存或者传入解压库zip或者7z的对象,暴露统一接口给外面
案例3: 不同的数据处理,读和写入, 比如xml,json,二进制,数据库.... 定义统一的接口。 传入不同的对象,能够进行数据的读取,删除,修改等统一的功能,对外可以统一的adapter的base接口。
案例4: 用户管理系统,我们公司定义的,和别的公司定义的不一样,这样用类适配器,继承他们的类和我们的base接口,在adapter把他们的数据转成我们的数据。 但如果该公司的接口是好几个类实现的,就要用到对象适配器。
案例5: Android源码的SetAdapter实现不同的ScrollView
案例6:.Net数据库操作类DateAdapter,来适配SQl,Oracle等数据库