Java适配器模式详解(定义作用及实现示例)

Java适配器模式详解(定义作用及实现示例)-mikechen

Java适配器模式是非常常见的Java设计模式,实际应用非常广泛,下面重点详解Java适配器模式@mikechen

Java适配器模式定义

Java适配器模式是Java设计模式的一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。

 

Java适配器模式作用

Java适配器模式(Adapter Pattern)主要作用是将一个类的接口转换成客户端所期望的另一个接口。

在实际开发中,Java适配器模式常用于以下场景:

  1. 重构旧代码:当我们需要重构一个老系统时,可能需要将旧代码中的接口转换成新系统所使用的接口,这时可以使用适配器模式。
  2. 系统间集成:当我们需要将两个系统集成在一起时,可能需要将其中一个系统的接口转换成另一个系统所使用的接口,这时可以使用适配器模式。
  3. 应对新接口:当我们需要使用一个新接口,但是这个新接口与原有的接口不兼容时,可以使用适配器模式来将新接口转换成原有接口。

 

Java适配器模式实现

在Java适配器模式,通常包含以下三个角色:

Java适配器模式详解(定义作用及实现示例)-mikechen

  1. 目标接口(Target):客户端所期望的接口,也就是客户端使用的接口。
  2. 适配器(Adapter):适配器将源接口转换成目标接口,它实现了目标接口,并包含一个对源接口的引用。
  3. 源接口(Adaptee):需要被适配的接口,也就是客户端原本不能直接使用的接口。

 

Java适配器模式示例

Java中实现适配器模式通常有两种方式:类适配器模式和对象适配器模式。

1.类适配器模式

类适配器模式:通过继承的方式将源接口转换成目标接口。

示例:

public interface Target {
    void request();
}

public interface Adaptee {
    void specificRequest();
}

public class Adapter extends Adaptee implements Target {
    @Override
    public void request() {
        specificRequest();
    }
}

具体实现方式是创建一个适配器类(Adapter),它继承自源接口(Adaptee)并实现目标接口(Target)。

Target是目标接口,Adaptee是源接口,Adapter是适配器。

 

2.对象适配器模式

对象适配器模式:通过组合的方式将源接口转换成目标接口。

示例:

public interface Target {
    void request();
}

public interface Adaptee {
    void specificRequest();
}

public class AdapteeImpl implements Adaptee {
    @Override
    public void specificRequest() {
        // 源接口中的具体实现
    }
}

public class Adapter implements Target {
    private Adaptee adaptee;

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

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

具体实现方式是创建一个适配器类(Adapter),它实现目标接口(Target),并包含一个对源接口(Adaptee)的引用。

以上就是Java适配器模式详解,更多Java设计模式请查看:Java设计模式:23种设计模式(万字图文全面总结)

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法