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









*Nottostay.*
- 粉丝: 6
最新资源
- 全面了解EJB:从基础到项目开发与资源下载
- Eclipse中文教材入门教程详解
- 探索AMI主板BIOS源代码的深层秘密
- C#实现的高级屏幕截图工具介绍
- 掌握UML建模:标准建模教程详解
- 解决Java新版本编译问题的反编译神器:DJ Java Decompiler
- 深入了解Win32编程接口参考手册
- SQL进阶教程:全面掌握数据库管理与查询
- J2EE SSH整合开发实战:文件解压与合并指南
- NIIT第四学期COM+课程配套资料
- Asp.net购物车示例源码详细解析(VS2005)
- ASP服务器:小巧易用的安装工具
- 深入了解MPEG4编码标准及其HandBook
- 企业行政管理效率提升:VB+SQL打造管理系统
- Java实现的经典'连连看'游戏源码解析
- JSP初学者实践指南:Servlet请求处理用例解析
- J2EE SSH整合开发实战指南与文件合并操作
- C++试题集锦:编程挑战与技能提升
- jfreeChart基础实例教程:Web与Swing应用
- J2EE企业应用实战:SSH整合开发详解
- 组合逻辑仿真器设计毕业论文解析
- Excel工程问题求解范例教程
- motoMidMan L6专用版:便捷Java游戏上传工具
- 微波技术基础教程与资料大全