适配器模式

1.模式的定义:

将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器模式的分类:

  • 通过继承实现Adapter (继承Adaptee)
  • 通过委让实现Adapter (包含Adaptee对象)

结构图:
适配器模式_第1张图片

2.模式的UML图

适配器模式_第2张图片
Client:
调用自己需要的领域接口Target

Target:
定义客户端需要的特定领域相关的接口

Adaptee:
已经存在的接口,通常能满足客户端的功能要求,但接口与客户端的要求特定领域接口不一致,需要被适配

Adapter:
适配器,把Adaptee适配成Client需要的Target

结构图:

3.缺省式适配器

AbstractServices
->services1方法
->services2方法
->services3方法

ServiceAdapter 实现 AbstractServices接口
->services1空实现
->services2空实现
->services3空实现

ConcreteService只对services1感兴趣 继承ServiceAdapter类
->services1具体实现

4.具体代码实现(委让)

// Client:
public class Client {
    public static void main(String[] args) {
        //Adapter把已经存在的Adaptee接口适配成Cilent需要的Target
        Target target = new Adapter(new Adaptee());
        target.requset();
    }
}

// Target:
public  interface Target {
    public void requset();
}

// Adapter:
public class Adapter implements Target {
    private Adaptee adaptee;
    public Adapter(Adaptee adaptee){
        this.adaptee = adaptee;
    }

    @Override
    public void requset() {
        adaptee.specificRequest();
    }
}

// Adaptee:
public class Adaptee {
    public void specificRequest(){
        System.out.println("具体的功能处理");
    }
}

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