【适配器模式】—— 每天一点小知识

简介: 【适配器模式】—— 每天一点小知识

🐳设计模式之适配器模式

引言

设计模式是软件开发中重要的概念之一。适配器模式是设计模式中的一种,它用于将一个类的接口转换成客户端期望的另一个接口。在本文中,我们将深入探讨适配器模式的概念和思想,并介绍适配器模式的应用场景以及常见的代码实现方式。

适配器模式的概念和思想

 💧适配器模式是一种结构型设计模式,它通过将一个类的接口转换成客户端期望的另一个接口来实现不兼容接口之间的协作。

 💧适配器模式的核心思想是创建一个适配器类,该适配器类实现客户端期望的接口,并持有一个需要适配的对象实例。适配器类将客户端的请求转发给被适配对象,从而实现对原有接口的适配。


介绍适配器模式的应用场景以及常见的代码实现方式 ↓

应用场景

 💧适配器模式通常在以下场景中使用:

  • 将一个已经存在的类集成到另一个接口中。
  • 在系统中引入一个第三方库或组件,但其接口与系统要求的接口不兼容。
  • 对现有的类库进行功能扩展或修改,但又不希望对原有代码进行修改。

类适配器

 💧类适配器是一种常见的适配器模式实现方式。在该实现中,适配器类继承自被适配类,并实现客户端期望的接口。

public interface Target {
    void request();
}
public class Adaptee {
    public void specificRequest() {
        // 原有接口的实现逻辑
    }
}
public class Adapter extends Adaptee implements Target {
    public void request() {
        specificRequest();
        // 其他适配逻辑
    }
}

在上述代码中,我们定义了一个目标接口 Target 和一个被适配类 Adaptee。适配器类 Adapter 继承自 Adaptee 类,并实现了 Target 接口。适配器类中的 request() 方法将客户端的请求转发给了被适配类的 specificRequest() 方法。

对象适配器

 💧对象适配器是另一种常见的适配器模式实现方式。在该实现中,适配器类持有一个被适配对象的实例,并实现客户端期望的接口。

public interface Target {
    void request();
}
public class Adaptee {
    public void specificRequest() {
        // 原有接口的实现逻辑
    }
}
public class Adapter implements Target {
    private Adaptee adaptee;
    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }
    public void request() {
        adaptee.specificRequest();
        // 其他适配逻辑
    }
}

在上述代码中,我们定义了一个目标接口 Target 和一个被适配类 Adaptee。适配器类 Adapter 持有一个 Adaptee 类的实例,并实现了 Target 接口。适配器类中的 request() 方法将客户端的请求转发给了被适配类的 specificRequest() 方法。

使用适配器

 💧以下是适配器模式的使用示例:

public class Client {
    public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Target adapter = new Adapter(adaptee);
        adapter.request();
    }
}

在上述代码中,我们创建了一个被适配对象 Adaptee 和一个适配器对象 Adapter。通过将被适配对象传递给适配器的构造函数,我们将被适配对象转换成客户端期望的接口。最后,通过适配器的 request() 方法,客户端可以调用被适配对象的功能。

总结

   适配器模式是一种有用的设计模式,可以在不改变现有接口的情况下实现不兼容接口之间的协作。通过适配器模式,我们可以将已有的类集成到新的接口中,引入第三方库或组件,并对现有的类库进行功能扩展或修改。



相关文章
|
4天前
|
设计模式 Java
Java设计模式之适配器模式详解
Java设计模式之适配器模式详解
|
1月前
|
设计模式
适配器模式
​ 如有错误或有补充,以及任何改进的意见,请留下您的高见 概念 适配器模式是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口,从而使得原本由于接口不兼容而不能一起工作的两个类能够协同工作。 适配器模式中的角色包括目标接口(Target)、需要适配的类(Adaptee)和适配器(Adapter)。目标接口是客户端所期望的接口,需要适配的类是需要被适配的类或适配者类,适配器则是将需要适配的类的接口转换成目标接口的实现类。         源(Adaptee):这个角色通常是一个已经存在的类或者接口,其方法或行为与客户端所期望的不完全一致。源角色定义了需要被适配的接口,这
21 0
|
1月前
|
设计模式 C++
结构型 适配器模式
结构型 适配器模式
20 0
|
9月前
|
Java API
适配器模式的运用
适配器模式的运用
57 0
|
10月前
|
设计模式 数据库 C++
2023-6-15-第六式适配器模式
2023-6-15-第六式适配器模式
70 0
|
设计模式 前端开发
关于适配器模式我所知道的
关于适配器模式我所知道的
39 0
|
Java 程序员 API
结构型模式-适配器模式
结构型模式-适配器模式
76 0
|
设计模式
我学会了,适配器模式
适配器模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
83 0
我学会了,适配器模式
|
设计模式 Java
Java设计模式 ->适配器模式
Java设计模式 ->适配器模式
101 0
|
设计模式 Java
【玩转23种Java设计模式】结构型模式篇:适配器模式
适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。适配器模式属于结构型模式,主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。
【玩转23种Java设计模式】结构型模式篇:适配器模式