设计模式——适配器
作者:互联网
GitHub - bailuoxi66/designMode
参考:【狂神说Java】通俗易懂的23种设计模式教学(停更)_哔哩哔哩_bilibili
1. 适配器【可以更好的建模】
首先:有网线
//要被适配的类 网线
public class Adaptee {
public void request(){
System.out.println("连接网线上网");
}
}
因为要面向接口编程,所以需要写一个转接头的接口
//接口转化器,面向接口编程
public interface NetToUsb {
//处理请求,将网线插入到usb上呢
public void handleRequest();
}
转化器可以接任意种类的网线,所以这里不能直接继承extends Adaptee.
//真正的适配器,需要连接usb,连接网线
public class Adapter implements NetToUsb{
//因为适配器可以连接任何的网线
private Adaptee adaptee;
public Adapter(Adaptee adaptee){
this.adaptee = adaptee;
}
@Override
public void handleRequest() {
adaptee.request(); //可以上网了
}
}
电脑上网
//客户端类: 电脑【超薄】 想上网,但是插不上网线
public class Computer {
public void net(NetToUsb netToUsb){
//上网的具体实现,找一个转接头【将头脑中想要实现的东西,转化成代码实现的东西,会非常爽】
netToUsb.handleRequest();
}
public static void main(String[] args) {
//需要电脑、网线、适配器
Computer computer = new Computer(); //电脑
Adaptee adaptee = new Adaptee(); //网线
Adapter adapter = new Adapter(adaptee); //适配器
computer.net(adapter);
}
}
标签:适配器,网线,public,adaptee,void,设计模式,Adaptee 来源: https://blog.csdn.net/weixin_35821291/article/details/122548001