读书人

C++设计形式-对象适配器模式

发布时间: 2013-10-08 17:12:09 作者: rapoo

C++设计模式----对象适配器模式

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

对于适配器模式有两种类型:类适配器模式和对象适配器模式

类适配器模式:通过多重继承对一个接口和另一个接口进行匹配,只有c++适合

对象适配器模式

适配器模式结构图:

C++设计形式-对象适配器模式

Target类:这是客户所期待的接口。目标可以是具体的或者抽象的类。

class Target

{

public:

virtual void Request()

{

cout<< “普通请求!”<<endl;

}

};

Adaptee类:需要适配的类

class Adaptee

{

public:

void SpecificRequest()

{

cout<< “特殊请求!”<<endl;

}

};

Adapter类:通过在内部包装一个Adaptee对象,把源接口转换成目标接口

class Adapter : Target

{

private:

Adaptee * adaptee = new Adaptee();

public:

void Request()

{

adaptee->SpecificRequest();

}

};

客户端:

void main()

{

Target * target = new Adapter();

target->Request();

}

何时使用适配器模式

在想使用一个已存在的类,但如果它的接口,也就是它的方法和你的要求不相同时,就应该考虑用适配器模式

两个类所做的事情相同或相似,但是具有不同的接口时要使用适配器模式

读书人网 >软件开发

热点推荐