两种适配器模式

适配器模式用来解决两个类的接口不匹配但是还想相互调用的情况,比如下面这个情况

两种适配器模式

Target无法直接调用SpecificRequest(不兼容)。那么,解决方案是:用一个适配器来将接口与具体的方法结合起来。这里有两种方案:

1.类适配器

类适配器就是,我让Adapter来继承Adaptee,实现Target,声明的时候用Tatget t=new Adapter,调用的时候用t.Request()即可。

2.对象适配器

对象适配器就是,利用委派,在Adapter中维护一个Adaptee的成员变量,然后Tatget t=new Adapter,调用的时候用t.Request()即可。UML图入下

两种适配器模式