钟表,可以回到起点,但已不是昨天。
生活中处处可见适配现象:手机充电器的充电头,电脑电源适配器,高压变压器,等等都是适配器的案例。
1. 适配器模式
定义
适配器模式又叫做变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致的无法在一起工作的两个类能够在一起工作。
属于结构型设计模式
适用场景
已经存在的类,它的方法和需求不匹配(方法结果相同或者相似)的情况
适配器模式不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同的产品、不同的厂家造成功能类似而接口不同情况下的解决方案。
优点
能提高类的透明性和复用,现有的类复用但不需要改变
目标类和适配器类解耦,提高程序的扩展性
在很多业务场景中符合开闭原则
缺点
适配器编写过程需要全面考虑,可能会增加系统的复杂性
增加代码的阅读难度,降低代码的可读性,过多使用适配器会使系统代码变得凌乱
2. 类适配器写法
适配器模式有一个经典案例:我们的电压一般是220V,但是我们的手机等家用电器有些不是220V,需要电源适配器做一个转化,比如说说手机一般是5V的充电器才能工作。
public class AC220V {
public int outAC220V() {
int i = 220;
System.out.println("交流电:" + i + "V");
return i;
}
}
public interface DC5V {
int outputDC5V();
}
public class PowerAdapter extends AC220V implements DC5V {