设计模式之适配器模式

适配器模式

适配器将被适配的类的方法适配成客户端所期待的方法;
或者说,适配器将不同类的方法统一成某个接口的一个方法,方便客户端进行调用;
如:客户端想调用类A的方法a,但是客户端的代码实现中只能调用接口B的b方法,此时可以用C类去实现B接口,并在b方法里,调用A类的a方法;

组成

  1. 一个目标接口(Target),有客户端能调的方法
  2. 若干个被客户端需要但无法直接调用,各种各样的类(Adaptee
  3. 一个适配器类(Adapter

代码示例

目标接口

1
2
3
public interface Target {
    void request();
}

需要被适配的类

1
2
3
4
5
public class Adaptee {
    public void adapteeRequest(){
        System.out.println("I am a adaptee request.");
    }
}

适配器类

1
2
3
4
5
6
7
8
9
10
11
12
public class Adapter implements Target {
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void request() {
        adaptee.adapteeRequest();
    }
}