
设计模式之适配器模式详解
下载需积分: 0 | 48.59MB |
更新于2024-06-21
| 54 浏览量 | 举报
收藏
无标题设计模式-适配器模式
适配器模式是结构型模式之一,将一个类的接口转换成客户希望的另一个接口。该模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。适配器模式的优点是可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。
适配器模式可以分为类适配器和对象适配器两种。在类适配器模式中,适配器与适配者之间是继承(或实现)关系;在对象适配器模式中,适配器与适配者之间是关联关系。类适配器通过继承来完成适配,而对象适配器则是通过关联(实例对象构造器传递)来完成适配。
使用场景:
1. 想要使用一个已经存在的类,但是它却不符合现有的接口规范,导致无法直接去访问,这时创建一个适配器就能间接去访问这个类中的方法。
2. 想将一个类设计为可重用的类,可以创建适配器,将这个类来适配其他没有提供合适接口的类。
3. 多个组件功能类似,但接口不统一且可能会经常切换时,可使用适配器模式,使得客户端可以以统一的接口使用它们。
优点:
1. 将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,无须修改原有结构。
2. 增加了类的透明性和复用性,将具体的业务实现过程封装在适配者类中,对于客户端类而言是透明的,而且提高了适配者类的复用性,同一个适配者类可以在多个不同的系统中复用。
3. 灵活性和扩展性都非常好,通过使用配置文件,可以很方便地更换适配器,也可以在不修改原有代码的基础上增加新的适配器类,符合“开闭原则”。
缺点:
1. 会让系统看起来很复杂,不易维护(因为需要从全局考虑)。
2. 增加代码的阅读难度,不利于代码复用。
类适配器:
1. 目标接口定义规范,适配器类相当于多了一层包装,可以调用到被适配者的方法。
2. 但是具体去实现一个目标接口的实现类是不能接触到被适配者类的属性和方法的。
3. 这样我们即可在新接口Target中适配旧的接口或类,然后供别人使用。
对象适配器:
1. 对象适配器与类适配器不同之处在于,类适配器通过继承来完成适配,对象适配器则是通过关联(实例对象构造器传递)来完成。
2. 这里稍微修改一下Adapter类即可将转变为对象适配器,把被适配者Adaptee关联进入适配器类Adapter。
3. 结果一样,只是Adapter类与Adaptee类的关系不同而已(一个是继承,一个是组合)。
适配器模式是结构型模式之一,将一个类的接口转换成客户希望的另一个接口,具有很高的灵活性和扩展性,可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。但是需要注意适配器模式的缺点,会让系统看起来很复杂,不易维护,增加代码的阅读难度,不利于代码复用。
相关推荐









*Nottostay.*
- 粉丝: 6
最新资源
- 畅游浏览器源码解析:C#与.NET的完美结合
- PE文件加密技术:隐藏真实壳与字段修改
- C#实现字符串与Base64编码转换简易教程
- 深入解读USB 2.0规范及其核心构成
- C++实现的宾馆管理系统及其数据库部署指南
- C#开发的中小型图书馆信息管理系统
- VC源码实现飞行模拟与碰撞效果
- 精选24款简洁PPT模板:高效制作个性化课件
- Delphi BDS2007专属AppControls资源分享
- C#视觉效果升级:免费第三方控件下载指南
- BIOS个性化修改工具modbin6使用教程
- 掌握Flash图表控件:实现多维度ASP.NET/PHP线条柱状图
- C#开发实用工具:汉字转拼音类实现方法
- 精选60套Zzone精美PPT课件模板下载
- 新型JavaScript代码格式化工具发布
- 500强面试全攻略:技巧、题目与简历制作
- 164单片机C语言仿真程序汇总
- 俄罗斯方块源码深度解析与下载指南
- 实战Acegi:详解配置及源码实例
- 北大青鸟网上书店系统源码解析与功能展示
- MFC实现XP风格TabCtrl示例分析
- JpGraph PHP图形库:轻松实现多样化图表绘制
- ASP.NET ADO五大对象深入解析
- 微软研发的致胜策略深度解析