设计模式之适配器—我要给iPhone充个电
2020-05-26 本文已影响0人
爱骑车的豆子
定义
将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。
如何使用
适配器模式同样来自于我们生活中,如手机的电源适配器,同样笔记本电脑/Pad等都需要电源适配器,原因就是电子设备需要的电源接口不是220V,是需要使用适配器进行转换的(5V等),那对应成代码是怎么样的呢(适配器模式如何落地呢)?
首先有一个220V电源的接口和实现
public interface V220Power {
/**
*
* @return 电源电压
*/
int getPower();
}
public class V220PowerImpl implements V220Power {
@Override
public int getPower() {
return 220;
}
}
现在需要一个5V的电源接口,可以给iPhone充电
public interface V5Power {
int getPower();
}
实现一个5V电源适配器,来将220V转换为5V
public class V5PowerAdapter implements V5Power {
private V220Power v220Power;
public V5PowerAdapter(V220Power v220Power) {
this.v220Power = v220Power;
}
@Override
public int getPower() {
int power = this.v220Power.getPower();
//经过复杂的处理,将220V转换为5V
power = 5;
return power;
}
}
总结
至此成功地将220V电压的电源适配到了5V电压,给我的iPhone充上了电;适配器就是将已有的接口转换为满足需求的新接口,且同时可以使用已有接口的结果,降低了修改的成本的同时,也增强了扩展性。