适配器模式
生活中的有的电脑缺少各种各样的接口,通过一些适配器便可以正常使用那些接口,例如:HDMI转VGA、USB转网线等
适配器模式便是这种思路,通过创建Adaptee类代表要被适配的类,如:网线或VGA
public class Adaptee {
public void net(){
System.out.println("连接成功");
}
}
再建立一个接口,代表需要接口转换器的抽象实现
public interface NetToUsb {
public void handleRequest();
}
然后再创建一个客户端类
public interface NetToUsb {
public void handleRequest();
}
最后再创立一个具体的实现
public class Adapter extends Adaptee implements NetToUsb{
@Override
public void handleRequest() {
super.net();
}
}
上面是通过继承实现,称之为类适配器,仅适配是配一个类
通过组合实现
public class Adapter implements NetToUsb{
Adaptee adaptee;
Adapter(Adaptee adaptee){
this.adaptee = adaptee;
}
@Override
public void handleRequest() {
adaptee.net();
}
}
上面是通过组合实现,称之为对象适配器
适配器模式总结:
- 类适配器,通过继承实现
- 对象适配器,通过组合实现