美文网首页程序员
Java设计模式----适配器模式

Java设计模式----适配器模式

作者: GaaraZ | 来源:发表于2018-04-26 09:41 被阅读14次

什么是适配器模式?

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


适配器模式

模式中的角色

  • 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
  • 需要适配的类(Adaptee):需要适配的类或适配者类。
  • 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。

示例

package adapter;

/**
* @Description: 被适配的类
*/
public class Adaptee {
  public void request(){
      System.out.println("可以完成客户端请求的需要的功能!");
  }
}
package adapter;

public interface Target {
    void handleReq();
}

类适配器

package adapter;

/**
 * @Description: 适配器(类适配器方式)
 */
public class Adapter extends Adaptee implements Target{
    public void handleReq() {
        super.request();
    }
}

对象适配器

package adapter;

/**
 * @Description: 适配器(对象适配器方式,使用了组合的方式跟被适配对象整合)
 */
public class Adapter2 implements Target{
    private  Adaptee adaptee;

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

    public void handleReq() {
        adaptee.request();
    }
}
package adapter;

/**
 * @Description: 客户端类
 */
public class Client {
    public void test(Target t){
        t.handleReq();
    }

    public static void main(String[] args) {
        Client client = new Client();
        Adaptee adaptee = new Adaptee();
        Target target = new Adapter();

        Target target1 = new Adapter2(adaptee);
        client.test(target);
        client.test(target1);
    }
}

工作中的场景

  • 经常用来做旧系统改造和升级
  • 如果我们的系统开发之后再也不需要维护,那么很多模式都是没有必要的,但是不幸的是,事实却是维护一个系统的代价往往是开发一个系统的数倍。

学习中见过的场景

  • java.io.InputStreamReader(InputStream)
  • java.io.OutputStreamWriter(OutputStream)

相关文章

  • 浅析Java设计模式【1】——观察者

    前情内容 浅析Java设计模式【1】——观察者 浅析Java设计模式【2】——适配器 浅析Java设计模式【3】—...

  • 浅析Java设计模式【2】——适配器

    前情内容 浅析Java设计模式【1】——观察者 浅析Java设计模式【2】——适配器 浅析Java设计模式【3】—...

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java单例模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java外观模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java适配器模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java观察者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java代理模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java策略模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • 浅析Java设计模式【3】——代理

    1. 前情内容 浅析Java设计模式【1】——观察者 浅析Java设计模式【2】——适配器 浅析Java设计模式【...

网友评论

    本文标题:Java设计模式----适配器模式

    本文链接:https://www.haomeiwen.com/subject/kjxylftx.html