毕业论文
您现在的位置: 插头 >> 插头资源 >> 正文 >> 正文

百度工程师教你玩转设计模式适配器模式

来源:插头 时间:2023/3/8
祛白酊 http://baidianfeng.39.net/a_bdfzlff/141026/4503319.html

作者

北极星小组

在现实生活中,经常会遇到两个“对象”因为接口不兼容而不能一起工作的场景,这时需要第三者进行适配,如:国内的充电线插头不一定适用国外的插座需要借助转接头、SD卡无法直接链接电脑需要借助读卡器、用直流电的笔记本电脑接交流电源时需要一个电源适配器等。

在软件设计中,需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,这时用适配器模式能很好地解决这些问题。

适配器模式(AdapterPattern):是指将某个类的接口转化成客户端期望的另一个接口,主要目的是兼容性,让原本因接口不匹配不能工作的两个类可以协同工作。

△适配器示意图

适配器模式包含如下角色:

Target:目标抽象类,定义客户要使用的接口

Adapter:适配器类,将Adaptee的接口进行适配转换

Adaptee:适配者类,需要被转换接口的对象

Client:客户类,通过适配器接口Target去使用Adaptee的功能

△对象适配器

△类适配器

一、适配器模式在文档业务场景中的应用(对象适配器)

微软office文档有两种数据格式,即office(OOXML格式)和Office(二进制格式)。在新业务场景中,因现有系统已经具备Office文档处理功能组件(数据、阅读器等),现在需要在此基础上扩充支持office格式的文档。即复用现有的office组件类,但接口与复用环境要求不一致,此时可以使用适配器模式。

示例使用对象适配器方式,忽略业务处理细节,仅做流程上的抽象来表明适配器模式的使用,根据模式结构抽象出各个角色类:

Doc目标抽象类

Doc适配者类

DocAdapter适配器类

Document客户类

二、适配器模式在替换依赖组件场景中的应用(类适配器)

在实际的研发过程中,我们经常会需要对依赖组件进行更新迭代。在替换时,相关调用代码,往往分布在非常多的地方,并且由于调用方法与参数不一致,逐个修改工作量大,且存在遗漏风险,这时候可以使用类适配器,将接口统一,减少相关代码的改动。

示例使用类适配器方式,忽略业务处理细节,仅做流程上的抽象来表明适配器模式的使用,根据模式结构抽象出各个角色类:

AHandler目标抽象类

BHandler适配者类

BAdapter适配器类

Client客户类

三、适配器模式在接口实现场景的应用(接口适配器)K

在实际的开发过程中,一个接口有大量的方法,但是对应的不同类只需要

转载请注明:http://www.0431gb208.com/sjslczl/3772.html

  • 上一篇文章:
  • 下一篇文章: 没有了