当前位置:网站首页 > 技术博客 > 正文

适配器模式理解



今天我来全面总结一下Android开发中最常用的设计模式 - 适配器模式

1.1 定义

适配器模式,即定义一个包装类,用于包装不兼容接口的对象

包装类 = 适配器Adapter; 被包装对象 = 适配者Adaptee = 被适配的类

1.2 主要作用

把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。

适配器模式的形式分为:类的适配器模式和对象的适配器模式

1.3 解决的问题

原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

2.1 类的适配器模式

类的适配器模式是把适配的类的API转换成为目标类的API。

2.1.1 UML类图 & 组成

在上图中可以看出:

Adapter与Adaptee是继承关系,这决定了这个适配器模式是类的

2.1.2 使用步骤(代码解析)

步骤1: 创建Target接口

步骤2: 创建源类(Adaptee)

步骤3: 创建适配器类(Adapter)

步骤4: 定义具体使用目标类,并通过Adapter类调用所需要的方法从而实现目标

2.1.3 实例讲解 接下来我用一个实例来对类的适配器模式进行更深一步的介绍。 a. 实例概况

即适配器模式中的类的适配器模式

b. 使用步骤 步骤1: 创建Target接口(期待得到的插头):能输出110V(将220V转换成110V)

步骤2: 创建源类(原有的插头) ;

步骤3: 创建适配器类(Adapter)

步骤4: 定义具体使用目标类,并通过Adapter类调用所需要的方法从而实现目标(不需要通过原有插头)

2.2 对象的适配器模式

与类的适配器模式相同,对象的适配器模式也是把适配的类的API转换成为目标类的API。

与类的适配器模式不同的是,对象的适配器模式不是使用继承关系连接到Adaptee类,而是使用委派关系连接到Adaptee类。

2.2.1 UML类图

在上图中可以看出:

Adapter与Adaptee是委派关系,这决定了适配器模式是对象的。 2.2.2 使用步骤(代码解析)

步骤1: 创建Target接口

步骤2: 创建源类(Adaptee)

步骤3: 创建适配器类(Adapter)(不适用继承而是委派)

步骤4: 定义具体使用目标类,并通过Adapter类调用所需要的方法从而实现目标

在这里我就不再举实例进行讲解了(详情请看上面“进口机器的插头”),只是在适配类实现时将“继承”改成“在内部委派Adaptee类”而已

3.1 适配器模式

优点

缺点

3.2 类的适配器模式

优点

缺点

3.3 对象的适配器模式

优点

缺点

特别是需要重新定义Adaptee行为时需要重新定义Adaptee的子类,并将适配器组合适配

4.1 适配器的使用场景
4.2 类和对象适配器模式的使用场景

本文主要对适配器模式进行了全面介绍,接下来将介绍其他设计模式,有兴趣可以继续关注!!!!

  • 上一篇: nlp销售技巧
  • 下一篇: sql 左连接和右连接
  • 版权声明


    相关文章:

  • nlp销售技巧2025-03-13 09:01:03
  • QT创建文件2025-03-13 09:01:03
  • 适配器模式例子2025-03-13 09:01:03
  • java数组是集合吗2025-03-13 09:01:03
  • iic的通信协议2025-03-13 09:01:03
  • sql 左连接和右连接2025-03-13 09:01:03
  • pymysql(【Python】使用pymysql操作Mysql数据库)2025-03-13 09:01:03
  • 线程同步的作用2025-03-13 09:01:03
  • ajax请求的几种方式2025-03-13 09:01:03
  • emwin appwizard2025-03-13 09:01:03