设计模式(四)--适配器模式
来源:互联网 发布:小号男士衣服淘宝店铺 编辑:程序博客网 时间:2024/06/18 18:27
定义
适配器模式,将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
结构图
例子
//Target类,这是客户所期待的接口,目标可以是具体的类或者抽象的类,也可以是接口。class Target{public: virtual void Request() = 0;}//需要适配的类class Adaptee{public: void SpecificRequest();}//通过在内部包装一个Adaptee对象,把源接口转换为目标接口。class Adapter : public Target{private: Adaptee adaptee = new Adaptee();public: void Request() { adaptee.SpecificRequest(); }}//客户端代码void main(){ Target target = new Adapter(); target.Request();}
适用场景
- 使用一个已经存在的类,但如果它的接口,也就是它的方法和你的要求不相同时,就应该考虑使用适配器模式。
- 两个类所做的事情相同或者相似,但是具有不同的接口时要使用它。
- 客户代码可以统一调用同一个接口
- 双方都不太容易修改的时候再使用适配器模式适配。
特点
- Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。
- Adapter模式有对象适配器和类适配器两种形式的实现结构,但是类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。
- Adapter模式的实现可以非常的灵活,不必拘泥于GOF23中定义的两种结构。例如,完全可以将Adapter模式中的“现存对象”作为新的接口方法参数,来达到适配的目的。
- Adapter模式本身要求我们尽可能地使用“面向接口的编程”风格,这样才能在后期很方便的适配。
0 0
- 设计模式(四)适配器设计模式
- 设计模式(四):适配器模式
- 设计模式(四):适配器模式
- 设计模式(四)--适配器模式
- 【设计模式 四】适配器模式
- 设计模式--适配器模式(简要)(四)
- 设计模式(四)适配器模式(转)
- 【四】设计模式——适配器模式(Adapter Pattern)
- 设计模式大总结(四):适配器模式
- 设计模式学习(四):适配器模式
- 慕课网----大话PHP设计模式 四(适配器模式,数据对象映射模式,观察者模式)
- 设计模式(适配器模式,外观模式)
- 同步适配器模式(四)
- 设计模式:适配器模式
- 设计模式------适配器模式
- 设计模式:适配器模式
- 设计模式---适配器模式
- 设计模式 适配器模式
- seq2seq 做翻译,预测时 用argmax的原因
- 欢迎使用CSDN-markdown编辑器
- 如何解决win10系统更新出现错误代码0x80070057
- IE6、IE7兼容问题汇总(持续更新)
- java.util
- 设计模式(四)--适配器模式
- 大小端检测方法(ARM 和linux系统)
- iOS开发笔记-触摸事件与手势
- 基础Android之最后总结
- android逆向
- C# 子线程调用父线程控件
- 要想成为编程高手就应该具备的八个条件
- Java游戏练习---音乐播放器
- 2017.05.12-3 SpringBoot简单登录注册-注册(附源码)