适配器模式(Adapter Pattern)
适配器模式定义:Adapter Pattern将一个类的接口,转换成客户期望的另一个接口,Adapter Pattern让原本接口不兼容的2个类可以合作无间。
通过加入适配器,在不修改原有类/接口和现有类/接口的情况下使原本不互通的2个类/接口兼容
没有修改就意味着没有风险
适配器模式分为3个组成部分:
Target -- 目标类/接口
Adapter -- 适配器
Adaptee -- 被适配的类/接口(被适配器适配成需要的目标类/接口)
例如:
public class Chick {
public void crow(){
System.out.println("chick crow!");
}
}public class DuckAdapter extends Chick {
private Duck duck;
public DuckAdapter(Duck duck){
this.duck = duck;
}
public void crow(){
duck.quack();
}
}public class Duck {
public void quack(){
System.out.println("duck quack!");
}
}public class Test {
public static void main(String[] args) {
Chick c = new DuckAdapter(new Duck());
c.crow();
}
}
运行结果:
duck quack!
当然所有被适配对象/接口(Duck)的子类也可以通过该适配器(DuckAdapter)与目标对象/接口(Chick)兼容
稍微改进适配器(DuckAdapter)能够提供更多的功能:
缺点:如果目标类/接口(Chick)比较庞大,适配器(DuckAdapter)也会变得相当庞大,难于维护
浙公网安备 33010602011771号