科迪兔网站建设,网络公司排名哪家专业,汽车贸易网站建设方案,国外有什么优秀的网站推荐文章目录 一、适配器模式基础知识实例 一、适配器模式基础知识
适配器模式定义#xff1a;将一个类的接口转换成客户希望的另一个接 口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可 以一起工作。 Client#xff1a;客户端#xff0c;调用自已需要的领域接口… 文章目录 一、适配器模式基础知识实例 一、适配器模式基础知识
适配器模式定义将一个类的接口转换成客户希望的另一个接 口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可 以一起工作。 Client客户端调用自已需要的领域接口 Target。 Target定义客户端需要的跟特定领域的相关接口。 Adaptee已经存在的接口通常能满足客户端的功能要求但 是接口与客户端要求的特定领域接口不一致需要被适配。 Adapter适配器把 Adaptee 适配成为 Client 需要的 Target。
1、适配器模式作为两个不兼容的接口之间的桥梁。它属于结构体 型模式结合两个独立接口的功能。 2、主要解决解决在软件系统当中将一些“现存的对象”放到新 的环境当中而新环境要求的接口是现对象不能满足的。 3、优点可以让任何两个没有关联的类一起执行为了提高类的利 用增加类的透明度灵活性更好。 4、缺点适配器使用过多让整个系统非常零乱不容易整体进行 把控
实例 #include iostream
using namespace std;// 我们要定义客户端使用的接口与特殊领域相关的
class Target {
public:virtual void RequestFunc() 0;virtual ~Target() {cout 调用Target类析构函数. endl;}
};// 已经存在的接口这个接口需要被适配
class Adaptee {
public:void SpecificRequestFunc() {cout \nAadaptee类特殊请求处理实现模块.\n endl;}~Adaptee() {cout 调用Adaptee类析构函数. endl;}
};// 适配器将现在接口转为需要的接口
class Apapter :public Target {
private:Adaptee* adaptee;public:Apapter() {adaptee new Adaptee();cout 调用Apapter类构造函数. endl;}public:virtual void RequestFunc() { // 可以转调已经实现的方法进行适配adaptee-SpecificRequestFunc();}virtual ~Apapter() {if (adaptee ! NULL){delete adaptee;adaptee NULL;}cout 调用Apapter类析构函数. endl;}
};int main()
{// 创建客户端需要调用的接口对象Target* target new Apapter();target-RequestFunc(); // 请求处理操作if (target ! NULL){delete target;target NULL;}return 0;
}