哇塞码农设计模式系列 -- 适配器模式

更新于2024-11-05 08:01:003 分钟1 千字4644008710
摘要

适配器模式

适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。这种模式可以让原本由于接口不兼容而不能一起工作的类能够协同工作。

UML类图

PlantUML Image

Java示例

// 目标接口
interface Target {
    void request();
}

// 被适配的类
class Adaptee {
    void specificRequest() {
        System.out.println("Adaptee specificRequest");
    }
}

// 适配器类
class Adapter implements Target {
    private Adaptee adaptee;

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

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

public class Client {
    public static void main(String[] args) {
        // 创建被适配的对象
        Adaptee adaptee = new Adaptee();
  
        // 创建适配器对象
        Target target = new Adapter(adaptee);
  
        // 调用目标接口的方法
        target.request();
    }
}

适用场景

适配器模式通常适用于以下场景:

  1. 已有的类与已有的接口不兼容:当需要使用一个已有的类,但是其接口与系统要求的接口不兼容时,可以使用适配器模式来使这两者能够协同工作。
  2. 需要复用已有的类:当需要复用一个已经存在的类,但是其接口与系统的其他部分不匹配时,可以创建一个适配器类来充当两者之间的桥梁,而无需修改已有的类。
  3. 系统需要与多个类或接口交互:当系统需要与多个类或接口进行交互,但是这些类或接口的接口不一致时,可以为每个类或接口创建适配器,统一它们的接口,使得系统更加灵活和易于扩展。
  4. 遗留系统的接口升级:当需要将一个旧的遗留系统升级到一个新的接口时,可以使用适配器模式来逐步实现接口的升级,而不影响现有的系统功能。

总的来说,适配器模式适用于那些需要将不兼容的接口进行转换或者需要复用已有的类来满足系统需求的情况。通过适配器模式,可以使得不同接口的类能够协同工作,同时保持系统的灵活性和可维护性。

评论区

你认为这篇文章怎么样?
  • great
    0
  • happy
    0
  • doubt
    0
  • boring
    0
  • bad
    0

0/2048