Adapter(适配器)设计模式

声明:本博文篇幅短,适合review。

一、概念

       将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。一共有两类适配器模式:对象适配器模式和类适配器模式。类模式的 Adapter 采用继承的方式复用 Adaptee的接口,而在对象模式的 Adapter 中我们则采用组合的方式实现 Adaptee 的复用。

二、结构模式图

       1、类适配器模式图

       2、对象适配器模式图

三、例子

       1、类适配器模式

class Target
{
	public:
		virtual void request(){}
};

class Adaptee
{
	public:
		void specificRequest(){}
};

class Adapter : public Target,private Adaptee
{
	public:
		void request()
		{
			this->specificRequest();
		}
};

       2、对象适配器模式

class Target
{
	public:
		virtual void request(){}
};

class Adaptee
{
	public:
		void specificRequest(){}
};

class Adapter : public Target
{
	public:
		void request()
		{
			_ade->specificRequest();
		}
	private:
		Adaptee * _ade;
};

四、优缺点

       1、优点

           a、增加了类的透明性和复用性,将具体的实现封装在适配者类中。

           b、符合开闭原则。

       2、缺点

           a、过多的使用适配器,会让系统非常零乱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值