1. 秦子帅的博客首页
  2. Android

设计模式(12)-适配器模式详解(易懂)

设计模式(12)-适配器模式详解(易懂)

安卓干货铺
专注Android技术,坚持原创+博文分享
关注

适配器模式的定义

在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。

共有两类适配器模式:

对象适配器模式

  • 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适   配器调用被包裹对象的物理实体。

类适配器模式

  •  — 这种适配器模式下,适配器继承自已实现的类。

模型:

设计模式(12)-适配器模式详解(易懂)

  • Target:目标角色,定义把其他类转换为我们期望的角色

  • Adaptee:初始角色,即我们原始的类和接口对象,如“A->B”,其中    A就是初始角色,它是一直存在的

  • Adapter:适配器角色,也就是我们今天的重点,适配器需要新创建,通过继承等方式把初始角色转换成为目标角色。

代码演示(类适配器模式):

1.AbstractTarget:抽象目标角色

2.具体的目标角色

3.初始角色Adaptee:

4.适配器角色:

5.调用

实例说明

例如,我手中有Android数据线和iphone手机,我想用安卓数据线给iphone手机充电。此时:

  • 初始角色:Android数据线

  • 目标角色:iphone手机

  • 适配器:数据线转换器

代码演示:

1.Android数据线:


2.目标角色:


3.数据线转换器


4.调用

运行:

设计模式(12)-适配器模式详解(易懂)

适配器模式的优点及其他

1.优点

  • 灵活性好

  • 通过适配器可以让两个没有关系的类一起运行

  • 增加了类的通透性

2.注意:

当初始角色的接口和实现类为多个时,我们在写适配器不能用继承的方式。可以通过在适配器中构造函数的方法来传递对象从而实现数据处理,也就是对象适配器模式。

文章参考了网上信息以及《设计模式之禅》

设计模式(12)-适配器模式详解(易懂)

推荐阅读:

设计模式(9)-责任链模式详解(易懂)

设计模式(10)-装饰模式详解(易懂)

设计模式(12)-适配器模式详解(易懂)

设计模式(12)-适配器模式详解(易懂)

原文始发于微信公众号( 秦子帅 ):设计模式(12)-适配器模式详解(易懂)

发布者:秦子帅,转转请注明出处:http://qinzishuai.cn/index.php/2018/03/10/8838fa7796/

联系我们

912241847

在线咨询:点击这里给我发消息

邮件:qzs531156@163.com

QR code