适配器模式(adapter):将一个类的接口转换为客户希望的另一个接口,适配器模式使得原本由于接口不兼容不能在一起工作的那些类能一起工作。
适配器分为类适配器和对象适配器,类适配器通过多继承对一个接口与另一个接口适配,但是Java没有多继承,所以下面只聊对象适配器。
Target(目标接口):要转换期待的接口。
Adaptee(源角色):需要适配的接口。
Adapter(适配器):将源接口适配成目标接口,继承源接口,实现目标接口(实现方法各不相同)。
目标类
public class Target {
public void request(){
System.out.println("正常需求。。。");
}
}
需要适配的类
public class Adaptee {
public void specificRequest(){
System.out.println("特殊需求。。。");
}
}
适配器
public class Adapter extends Target{
private Adaptee adaptee=new Adaptee();
public void request(){
adaptee.specificRequest();
}
}
测试类
public class TestAdapter {
public static void main(String args[]){
Target target=new Adapter();
target.request();
}
}
正常需求的接口转换为特殊需求的接口。
适配器模式和装饰器模式的相同点和区别:
它们都有一个别名就是包装模式(wrapper):它们看起来都是起到了包装类好接口的作用。
适配器的作用是将一个接口转换为另外一个接口,通过改变接口来达到重用的目的。而装饰器模式不是要改变被装饰
对象的接口,而是要保持并且增强原有对象的功能,或者改变原有对象的处理方法,从而提升性能,所以这两个模式的设计目的
是不同的。
这是结尾。。。