Skip to main content

适配器模式

适配器模式包含:

  • 目标(target)接口:当前系统业务所期待的接口,可以是接口或抽象类
  • 适配者(adaptee)类:被访问和适配的现存组件
  • 适配器(adapter)类:转换器,通过引用或启程适配者对象,把适配者接口转换为目标接口

有一个 TF 卡接口

public interface TFCard {
public void readTFData();
}

以及一个 TF 卡实现类,可以读取数据

public class TFCardImpl implements TFCard {
public void readTFData() {
System.out.println("read data from tf card");
}
}

还有一个 SD 卡接口,也有读取数据的功能

public interface SDCard {
public void readSDData();
}

适配器类

public class TFCardAdapter implements SDCard {

TFCard tfCard;

public TFCardAdapter(TFCard tfCard){
this.tfCard=tfCard;
}

public void readSDData() {
tfCard.readTFData();
}
}

客户端只能读取 SD 卡,但通过适配器,可以读取 TF 卡

public class AdapterClient {
public static void main(String[] args) {
TFCard tfCard = new TFCardImpl();
SDCard sdCard = new TFCardAdapter(tfCard);
sdCard.readSDData();
}
}