超薄本没有网线接口需要网线转usb接口的转换器
Adaptee要被适配的类,网线,拥有一个方法request
Computer客户端类,想上网但无法连接网线,拥有方法net且需要在改函数中传入NetToUsb对象
NetToUsb转接接口,使用接口可以适应各种转换,拥有方法handleRequest
Adapter具体的转换器类,继承自NetToUsb,构造函数中传入Adaptee对象以便于在重写的handleRequest方法中调用request请求(adapter.request())
使用:
Computer computer=new Computer();
Adaptee adaptee=new Adaptee();
Adapter adapter=new Adapter(adaptee);
computer.net(adapter);
将输出进行转换,例如将220v市电转换为手机充电器所需要的5v电压
public class Adaptee
{
public int ProvidePower()
{
return 220;
}
}
//转换接口,便于扩展
public interface ITarget
{
int ProviderAllPower();
}
//具体的转换类
public class Adapter : ITarget
{
private Adaptee ap;
public Adapter(Adaptee ap)
{
this.ap = ap;
}
public int ProviderAllPower()
{
int iPower = ap.ProvidePower();
//此处进行转换,具体逻辑自定义
iPower = 5;
return iPower;
}
}
class Program
{
static void Main(string[] args)
{
Adaptee ape = new Adaptee();
Adapter ap = new Adapter(ape);
ap.ProviderAllPower();
}
}