欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

设计模式----Adapter(适配器)

发布时间:2025/3/8 asp.net 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 设计模式----Adapter(适配器) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

作用:

  将一个类的接口转换成客户希望的另外一个接口。Adapt 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

  UML示意图

  1)采用继承原有接口类的方式

  2)采用组合原有接口类的方式

  解析:

  Adapt模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用旧的接口成为可能.

  实现:

  Adapt模式有两种实现办法,一种是采用继承原有接口类的方法,一种是采用组合原有接口类的方法,这里采用的是第二种实现方法.

 

 

#include <iostream> using namespace std; // 需要被Adapt的类 class Target { public: Target(){} virtual ~Target() {} virtual void Request() = 0; }; // 与被Adapt对象提供不兼容接口的类 class Adaptee { public: Adaptee(){} ~Adaptee(){} void SpecialRequest(); }; // 进行Adapt的类,采用聚合原有接口类的方式 class Adapter : public Target { public: Adapter(Adaptee* pAdaptee); virtual ~Adapter(); virtual void Request(); private: Adaptee* m_pAdptee; }; void Adaptee::SpecialRequest() { cout << "SpecialRequest of Adapteen"; } Adapter::Adapter(Adaptee* pAdaptee) : m_pAdptee(pAdaptee) { } Adapter::~Adapter() { delete m_pAdptee; m_pAdptee = NULL; } void Adapter::Request() { cout << "Request of Adaptern"; m_pAdptee->SpecialRequest(); } void main() { Adaptee *pAdaptee = new Adaptee; Target *pTarget = new Adapter(pAdaptee); pTarget->Request(); delete pTarget; }

 

 

总结

以上是生活随笔为你收集整理的设计模式----Adapter(适配器)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。