前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >适配器模式简介

适配器模式简介

作者头像
先知先觉
发布2019-01-21 11:44:25
3650
发布2019-01-21 11:44:25
举报
文章被收录于专栏:伟大程序猿的诞生

适配器介绍:

适配器模式可以提高我们的开发效率,比如我们常见的LIstView、GridView和RecyclerView都需要使用Adapter。他就像一个粘合剂,将两个不兼容的类融合到一起。

适配器模式的定义:

把一个类的接口变成客户端所期待的另一个接口,使本来不不匹配二无法再一起工作的类可以在一起工作。

使用场景

1)系统需要使用现有的类,而类的接口不符合要求 2)需要建立一个可以重复使用的类,用于一些彼此之间没有太大关联的类 3)需要一个统一的接口,而输入类型不确定

分类

适配器模式分为两种类型:类适配器模式和对象适配器模式。 类适配器模式:通过继承adaptee类来实现 Interface(operation1)——->adapter(operation1)<——-adaptee(opteration2) 对象适配器模式:通过构造adaptee的实例来实现 Interface(operation1)——->adapter(operation1)<——-adaptee(opteration2)

类适配器模式

代码语言:javascript
复制
/**
 * Created by libin on 16/11/17.
 * target
 */

public interface FiveVolt {
    int getFiveVole();
}
代码语言:javascript
复制
/**
 * Created by libin on 16/11/17.
 * adaptee
 */

public class Volt220 {
    public int getVolt220(){
        return 220;
    }
}
代码语言:javascript
复制
/**
 * Created by libin on 16/11/17.
 * 类适配器模式
 * adapter
 */

public class Class_adapter extends Volt220 implements FiveVolt{

    @Override
    public int getFiveVole() {
        return 5;
    }
}

对象适配器

代码语言:javascript
复制
/**
 * Created by libin on 16/11/17.
 * Targeet
 */

public interface FiveVolt {
    int getFiveVole();
}
代码语言:javascript
复制
/**
 * Created by libin on 16/11/17.
 * adaptee
 */

public class Volt220 {
    public int getVolt220(){
        return 220;
    }
}
代码语言:javascript
复制
/**
 * Created by libin on 16/11/17.
 * 对象适配器模式
 * adapter
 */

public class Target_adapter implements FiveVolt{
    Volt220 volt220;

    public Target_adapter(Volt220 mVolt220) {
        volt220 = mVolt220;
    }


    public int getVolt220() {
        return volt220.getVolt220();
    }

    @Override
    public int getFiveVole() {
        return 5;
    }
}

该项目github源码:https://github.com/libin7278/DesignModle

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年11月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 适配器介绍:
  • 适配器模式的定义:
  • 使用场景
  • 分类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档