适配器模式

适配器模式分为类适配器和对象适配器

适配器模式_第1张图片
adapter.png
一、对象适配器

概述:采用对象组合方式实现,在适配器标准接口中创建需要适配的类对象,持有该对象,在构造函数中传入此对象,后期调用

/**
 * 指定适配类
 * @author Ticker
 *
 */
public class Adaptee {
    public void specificeReques(){
        System.out.println("特殊适配");
    }
}
/**
 * 要求接口
 * @author Ticker
 *
 */
public interface Target {
    void requst();
}
/**
 * 目标适配器
 * @author Ticker
 *
 */
public class Adapter implements Target{
    private Adaptee adaptee;
    
    public Adapter(Adaptee adaptee) {
        super();
        this.adaptee = adaptee;
    }

    @Override
    public void requst() {
        adaptee.specificeReques();
    }

}

public class Main {

    /** 主类调用
     * @param args
     */
    public static void main(String[] args) {
        Adapter adapter = new Adapter(new Adaptee());
        adapter.requst();

    }

}

二、类适配器(采用继承模式)

概述:继承adaptee类,实现目标接口,相对于对象适配,类的适配更加简单

/**
 * 目标适配器
 * @author Ticker
 *
 */
public class Adapter extends Adaptee implements Target{

    @Override
    public void requst() {
        specificeReques();
    }

}
优点:

1、将目标类和适配者类解耦
2、通过引入一个适配器类重用现有的适配者类,而无需修改原有代码,更好的扩展性

你可能感兴趣的:(适配器模式)