定义:函数
将一个类的接口转换成客户端须要的另一个接口;adapter模式使得本来因为接口不兼容而不能一块儿工做的类能一块儿工做。spa
简而言之就是中间件,将上游客户端调用的接口和下游服务端提供的接口实施对接。中间件
结构图:blog
代码:接口
//Target,客户端调用的接口ci
Class Targetget
{class
void Request()请求
}方法
//Adaptee。服务端提供的接口
class Adaptee
{
public void SpecificRequest)
{
。。。;
}
}
//Adatper,适配器,将服务端接口转换成客户端须要的接口
Class Adapter: Target
{
Adaptee* pAdaptee = new Adaptee();
public void Request()
{
return pAdaptee.SpecificRequest();
}
}
//客户端
Target* pTarget= new Adapter();
pTarget.Request;//实际调用了服务端的请求函数
使用时机:
想使用一个既存的方法,可是它的接口和你要求的不一样时;
要求接口格式封装服务端或者第三方库接口时;
优势:
一、更好的复用性
二、解耦性
三、符合开放-关闭原则
缺点:过多的使用适配器,会让系统很是零乱,不易总体进行把握