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

适配器模式

适配器模式指通过把接口转换成用户需要的接口,来让原本由于接口不兼容而不能一起工作的那些类可以一起工作。
举个简单的例子,在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的接口。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值