这里面我们定义了一个适配器的类,把日本电压适配成中国电压,这样才能够使灯泡正常工作。代码如下:

    static void Main(string[] args) 
            { 
    
                //初始化一个中国电灯 
                IChinaLight iCLight = new ChinaLight(); 
                //初始化中国的电 
                IChinaElectricity iCElectricity = new ChinaElectricity(); 
                //初始化日本电 
                IJapanElectricity iJElectricity =new JapanElectricity(); 
    
                //使用适配器 
                IChinaElectricity iCAElectricity = new ElectricityAdapter(iJElectricity); 
    
                //电压正确电灯发光 
                Console.WriteLine(iCLight.Light(iCElectricity.Voltage())); 
    
                //使用电压适配器进行适配 
                Console.WriteLine(iCLight.Light(iCAElectricity.Voltage())); 
    
                //电压不正确,电灯产生异常 
                Console.WriteLine(iCLight.Light(iJElectricity.Voltage())); 
                 
            }

  通过适配器模式的定义可以知道,其实适配器模式无非是把一种已经无法修改,或是修改成本较高的源角色通过适配角色转换成目标角色,这样整个业务体系才能够在代价小的情况下进行正常运行。

  适配器模式的优点:

  适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定他们行。

  ● 增加了类的透明性。

  ● 提高了类的复用度。

  ● 灵活性非常好。

  适配器模式的使用场景:

  适配器应用场景只要记住一点足够了:你有动机修改一个已经投产中的接口时,适配器模式可能是适合你的模式。比如系统扩展了,只需要一个已有或新建立的类,但这个类又不符合系统的接口,这个时候使用适配器模式比修改已存在的类代价要小的多。