设计模式-适配器模式

2019-10-26 20:46:38 浏览数 (2)

适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。

1.优点
  • 客户端通过适配器可以透明地调用目标接口。
  • 复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。
  • 将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题。
2.代码实例
2.1 需要兼容的接口
代码语言:javascript复制
public interface Target {

    /**
     * 功能描述:
     * 〈定义一个通用的请求〉
     *
     * @params : []
     * @return : void
     * @author : cwl
     * @date : 2019/6/24 10:01
     */
    void request();
}
2.2 需要被兼容的接口
代码语言:javascript复制
//可以是一个类,如果需要兼容多个,那么采用多实现来兼容多个
public class Adapter {

    /**
     * 功能描述:
     * 〈一个特殊需要被兼容的请求〉
     *
     * @params : []
     * @return : void
     * @author : cwl
     * @date : 2019/6/24 10:03
     */
    public void specificRequest() {
        System.out.println("适配者中的业务代码被调用!");
    }
}
2.3 具体调用的类
代码语言:javascript复制
public class ClassAdapter extends Adapter implements Target{
    @Override
    public void request() {

        //调用父类需要兼容的方法
        specificRequest();
    }
}
2.4 测试实例
代码语言:javascript复制
public class ClassAdapterTest {

    public static void main(String[] args) {
        System.out.println("类适配器模式测试:");
        Target target = new ClassAdapter();
        target.request();
    }
}

0 人点赞