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









*Nottostay.*
- 粉丝: 6
最新资源
- 在Windows中轻松运行Unix命令工具
- 芯张扬高效英语单词记忆技巧揭秘
- 无需IIS支持的ASP运行环境NetBox+v2介绍
- 图表控件展示:OpenFlashChart曲线图解决方案
- ASP.NET2.0项目实例集锦:新手学习指南
- VB6.0开发的合同管理系统功能全面
- EJB3.0开发实例教程:glassfish服务器安装与应用
- 掌握UDP穿透NAT技术:源代码解析指南
- 猫扑wc举旗软件:DSQ大杀器功能与安全解析
- SWT工具文档深度解析与应用
- MASMPlus个人免费版许可协议及功能介绍
- HTML+JS+CSS:必备的前端开发资源
- 实现炫酷鼠标特效的JavaScript技巧
- 电脑高手与菜鸟必备:全方位电脑知识指南
- 《开发突击者代码之struts》:Java Web整合开发实战剖析
- 可视化职工档案管理系统Delphi实现
- Java与数据库面试宝典:J2EE与SQL精选题库
- 掌握BS Web开发,提升前端开发技能
- 经典俄罗斯方块游戏的MFC实现教程
- x264编码器源代码修复及使用教程
- 轻松搞定复杂网站木马的清理工具
- 炫丽旋转导航菜单:JavaScript打造动态效果
- 常用网络协议 RFC 文档分类指南
- 掌握HTTP抓包分析:使用HttpWatch插件