[一天一个设计模式]-[适配器模式]

mac2025-05-25  34

适配器模式,调用者调用的对象有一个标准规范,但是提供者不符合这个规范,此时调用者需要调用提供者中间就需要一个适配器来转换标准。类比于电源适配器。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

举个栗子,电脑只有usb接口但是要读取sd卡内容

类适配器模式

这种模式是适配器是通过继承被继承对象来实现的。

public interface USB { String readUSB(); } public interface SD{ String readSD(); } pulic class SamSD implements SD{ @Override public String readSD(){ return "I'm SamSD"; } } public class SDAdapteUSB extends SamSD implements USB{ @Override public String readUSB(){ return super.readSD(); } } PC(){ USB sd=new SDAdapteUSB(); sd.readUSB(); }
对象适配器模式

这种模式通过对象组合来实现,比类适配器灵活很多。

public class SDAdapteUSB implements USB{ SD sd; public SDAdapteUSB(SD sd){ this.sd =sd; } @Override public String readUSB(){ return sd.readSD(); } } PC(){ SD sd =new SamSD(); USB usb=new SDAdapteUSB(sd); usb.readUSB(); }
最新回复(0)