适配器模式
此模式有三个角色:
目标(Target)角色:这是客户所期待。
源(Adaptee)角色:需要适配的类。
适配器(Adapter)角色:把源接口转换成目标接口。----使用目标的接口,此接口中使用了源的接口哟。
其分为类模式、对象模式。
类模式:

class Target
{
void I_want_to_do_with_him_but_diffrent();
}
class Adaptee
{
void He_want_to_do();
}
class Adapter:public Target,public Adaptee
{
void I_want_to_do_with_him_but_diffrent()
{
this->He_want_to_do();
}
}
int main()
{
Target* mydo = new Adapter();
mydo->I_want_to_do_with_him_but_diffrent();
}
对象模式:

他与类不同的是:适配器只是继承目标,但他包含了一个源的对象(new Adaptee),用此对象去调用该对象的接口哈。如上图。
1.Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。
2.Adapter模式有对象适配器和类适配器两种形式的实现结构,但是类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。
3.Adapter模式的实现可以非常的灵活,不必拘泥于GOF23中定义的两种结构。例如,完全可以将Adapter模式中的“现存对象”作为新的接口方法参数,来达到适配的目的。
4.Adapter模式本身要求我们尽可能地使用“面向接口的编程”风格,这样才能在后期很方便的适配。
浙公网安备 33010602011771号