美文网首页工作生活
设计模式(九)适配器模式

设计模式(九)适配器模式

作者: 天色将变 | 来源:发表于2019-07-02 06:41 被阅读0次
定义

适配器模式将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。

解决的问题

现有一个系统A,已经上线,对外提供A1A2A3三个接口,一个新的系统C有C1C2C3三个接口,客户依然想使用A的接口方式来使用系统C的接口,但是C与A接口是不匹配的,客户无法直接使用C的接口,这时该怎么办?写一个新类B,将系统C的接口转换成客户所期望的接口。
系统C是被适配者,B是适配器,系统A是目标。

类图
image.png
描述
  • 识别出目标,看看Client想要的是什么,是A。
  • 现在有的是ClassC,那么想办法把C提供给客户。
  • 写一个类B,实现A或继承A,B是适配器。
  • 在B内,覆盖A的方法,方法体用C的方法来实现。
  • 把B给客户使用。
伪代码
public class Client{
  A a;
  public void setA(A a){
    this.a = a;
  }
  public void move(){
    a.A1();
  }
}
public interface A{
  public void A1();
}
public class ClassC{
  public void C1(){}
  public void C2(){}
  public void C3(){}
}
public class AdapterB{
  ClassC c;
  public AdapterB(ClassC c){
    this.c = c;
  }
  public void A1(){
    c.C1();
    c.C2();
    c.C3();
  }
}

示例:

Client client = new Client();
client.setA(new AdapterB(new ClassC()));
client.move();
一句话总结

客户所需要的功能,通过适配器B,间接调用C的接口实现,但是客户仍然按照A的方式调用。

相关文章

  • Java(八):设计模式

    九、设计模式 6.适配器模式是什么?什么时候使用? 适配器模式(Adapter Pattern)是作为两个不兼容的...

  • 简说设计模式之适配器模式

    前言:对于设计模式基础概念可以去看[简说设计模式之设计模式概述] 一、什么是适配器模式 适配器模式(Adapter...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 最常用的设计模式---适配器模式(C++实现)

    适配器模式属于结构型的设计模式,它是结构型设计模式之首(用的最多的结构型设计模式)。 适配器设计模式也并不复杂,适...

  • iOS设计模式(5)策略模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(6)模板模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(7)建造者模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(4)抽象工厂模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(1)简单工厂模式

    设计模式系列文章 《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂...

  • iOS设计模式(2)工厂模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象...

网友评论

    本文标题:设计模式(九)适配器模式

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