举例说说Adapter模式- - JavaEye技术网站

?? 假如你朋友送你一个新鼠标,是usb接口的,而你电脑的主板没有usb接口,只有ps2接口。但是你想用上新鼠标,怎么办呢。呵呵,大家都知道,买一根连接线,一端接受usb,令一端接收ps2,那就可以了。

????? 在这个例子中,连接线就起到了适配器的作用。再强调一点,虽然同时usb,但是也要分正负面的,ps2也是。

????? 那么现在假设鼠标Mouse是带 UsbA 接口的(UsbA与UsbB相接)。主板Mainboard是Ps2B接口的(Ps2B与Ps2A相接)。现在买来了UsbPs2连接线 UsbPs2Adapter。现在来实现一下。

UsbA 接口描述:

public interface UsbA    
{    
    public void join(UsbB usbB);    
}   

?

UsbB 接口描述:

public interface UsbB    
{    
    public void access(UsbA usbA);    
}   

?

Ps2A接口描述:

public interface Ps2A    
{    
    public void join(Ps2B ps2B);    
} 

?

Ps2B接口描述:

public interface Ps2B    
{    
    public void access(Ps2A ps2A);    
}   

?

鼠标Mouse描述:

public class Mouse implements UsbA    
{    
        
    public Mouse(){    
        System.out.println("mouse with UsbA.");    
    }    
   
    public void join(UsbB usbB)    
    {    
        System.out.println("join to UsbB");    
    }    
}   

?

主板Mainboard描述:

public class Mainboard implements Ps2B    
{    
    public Mainboard()    
    {    
        System.out.println("Mainboard with Ps2B.");    
    }    
   
    public void access(Ps2A ps2A)    
    {    
        System.out.println("access Ps2A!");    
    }    
   
} 

?连接线UsbPs2Adapter描述:

public class UsbPs2Adapter implements UsbB,Ps2A    
{    
        
    public UsbPs2Adapter()    
    {    
        System.out.println("adapter with UsbA and Ps2B.");    
    }    
   
    public void access(UsbA usbA)    
    {    
        System.out.println("adapter access UsbA.");    
    }    
   
    public void join(Ps2B ps2B)    
    {    
        System.out.println("adapter join Ps2B.");    
    }    
   
}    

?好,材料都准备好了,现在开始接线吧:

public class AdapterTest    
{    
    public static void main(String[] args)    
    {    
        Mainboard mainbord = new Mainboard();//带有Ps2B接口    
        Mouse mouse = new Mouse();//带有usbA接口    
        UsbPs2Adapter adapter = new UsbPs2Adapter();//同时带有usbB和ps2A接口    
        adapter.access(mouse);//接收鼠标的连接    
        adapter.join(mainbord);//连接到主板    
    }    
}   

?

输出结果:

Mainboard with Ps2B.
mouse with UsbA.
adapter with UsbA and Ps2B.
adapter access UsbA.
adapter join Ps2B.

连接成功了!!呵呵

?

郑重声明:资讯 【举例说说Adapter模式- - JavaEye技术网站】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——