设计模式——适配器模式

适配器模式:是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。

target(目标接口):所要转换的所期待的接口
Adaptee(源角色):需要适配的类
Adapter(适配器):将源角色适配成目标接口,一般持有源接口的引用(或者继承源接口),且实现目标接口。

适配器模式.jpg

示例:利用转接口将PS/2接口的鼠标连上USB,接上电脑

/**
 * 
 * @author apple
 *  PS2Mouse 相当于Apaptee, 被适配器类,有特殊需求
 *  
 */
public class PS2Mouse {
    
    void hasPS2() {
        System.out.println("连接上电脑");
    }
}

/**
 * 
 * @author apple
 * 
 *  Translator 转化器 Adapter , 转化接口, 拿到原有接口,加以修改  
 */
public class Translator extends PS2Mouse implements IUSB {

    @Override
    public void hasUSB() {
        // TODO Auto-generated method stub
        hasPS2();
        System.out.println("将 ps2 转换为 usb 接口");
        
    }

}

/**
 * 
 * @author apple
 * 
 * IUSB 相当于 Tagart,目标接口
 */
public interface IUSB {
    
    void hasUSB();
}

public class Client {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Translator translator = new Translator(new PS2Mouse());
        translator.hasUSB();
        
    }

}

你可能感兴趣的:(设计模式——适配器模式)