您的位置:首页 > 编程语言 > C语言/C++

C++与设计模式(3)——适配器模式

2016-10-29 12:59 232 查看

适配器模式

适配器模式指通过把接口转换成用户需要的接口,来让原本由于接口不兼容而不能一起工作的那些类可以一起工作。

举个简单的例子,在STL中实际上只提供了双端队列(deque)的数据结构,而栈(stack)和队列(queue)都是通过适配器模式来转换双端队列(deque)的接口来实现的。

class Deque
{
public:
void push_back(int x){}
void push_front(int x){}
void pop_back(){}
void pop_front(){}
};

class Stack
{
public:
void push(int x){deque.push_back(x);}
void pop(){deque.pop_back();}
private:
Deque deque;
};

class Queue
{
public:
void push(int x){deque.push_back(x);}
void pop(){deque.pop_front();}
private:
Deque deque;
};


如果继承Deque那么在子类中会暴露过多信息,所以通过添加为成员的方式来使用Deque的接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构 stl