设计模式:适配器模式

一、前言

适配器模式就是将两个不兼容的类融合在一起。通过转换使他们可以兼容的工作。Android代码中最常见的适配器就是Adapter了。ListView、GridView、RecyclerView都使用Adapter,Adapter的作用都一样,把高度定制化的item view和ListView分开。item view通过一个Adapter和ListView联系到一起。解耦而不失高度可定制。

二、适配器模式定义

将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作

三、例子

3.1、我们举一个出水口出水量的例子。出水量有大有小,于是先定义两个接口

public interface BigOutlet {
    public void bigOutlet();
}

public interface SmallOutlet {
    public void smallOutlet();
}

3.2、然后有一个出水口water tap。出水量大。

public class BigWaterTap implements BigOutlet {
    private static final String TAG = WaterTap.class.getSimpleName();

    @Override
    public void bigOutlet() {
        Log.d(TAG,"bigOutlet");
    }
}

3.3、定义适配器

public class ClassWaterTapAdapter extends BigWaterTap implements SmallOutlet {
    private static final String TAG = ClassWaterTapAdapter.class.getSimpleName();

    @Override
    public void smallOutlet() {
        Log.d(TAG,"smallOutlet");
    }
}

调用

ClassWaterTapAdapter classWaterTapAdapter = new ClassWaterTapAdapter();
classWaterTapAdapter.bigOutlet();
classWaterTapAdapter.smallOutlet();

五、总结

适配器模式就是将原本不兼容的接口融合在一起,以便更好的协同合作。当然设计模式不是一成不变的,litview的adapter就是很好的一个变化,让UI更加高度可定制化而不失自身实现。
优点:
1、把接口和类结合,通过适配器可以让接口定义的功能更好的复用。
2、扩展性好,不光可调用自己开发的功能,还自然的扩展了接口定义的其它功能。
缺点:
不易滥用,如果你的代码有n多个适配器,你想想那场面,调用十分凌乱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值