設計模式學習筆記(三) 適配器模式



 

    適配器模式,適配器,日常生活中有很多,電源適配器(三相電轉兩相電或兩相電轉三相電),鼠標適配器(PS/2轉USB或USB轉PS/2)等等。適配器,就是讓設備,能在接口不一樣的情況下正常工作。

    1.PS2類型鼠標,只有PS2接口

package dcr.study.dp.adapter;

public interface IPS2Mouse {
	void ps2();
}

    2.USB類型鼠標,只有USB接口

package dcr.study.dp.adapter;

public interface IUSBMouse {
	void usb();
}

   3.實現PS2鼠標

package dcr.study.dp.adapter;

public class PS2Mouse implements IPS2Mouse {

	@Override
	public void ps2() {
		System.out.println("PS2接口鼠標,使用電腦PS2接口");
	}
}

   4.實現USB鼠標

package dcr.study.dp.adapter;

public class USBMouse implements IUSBMouse {

	@Override
	public void usb() {
		System.out.println("USB接口鼠標,使用電腦的USB接口");
	}
}

   5.做個PS2轉USB的適配器,同理也可以做一個USB轉PS2的適配囂,如果需要,還可以做個雙向適配器。

package dcr.study.dp.adapter;

public class PS2TOUSBAdapter implements IUSBMouse {
	
	IPS2Mouse mouse ;
	
	public PS2TOUSBAdapter(IPS2Mouse ps2mouse){
		this.mouse = ps2mouse;
	}
	@Override
	public void usb() {
		mouse.ps2();
	}
}

   5 . 在只有USB接口的電腦上使用PS2鼠標。

package dcr.study.dp.adapter;

public class Application {
	public static void main(String[] args){
		//當前程序如果是一臺只擁有USB的接口的電腦
		//現在我只有一個PS2的鼠標
		PS2Mouse ps2mouse = new PS2Mouse();
		//那麼我使用一個PS2轉USB的適配器
		IUSBMouse mouse = new PS2TOUSBAdapter(ps2mouse);
		//這樣我就可以把PS2鼠標轉成USB來使用了
		mouse.usb();
	}
}

對像適配器,可以使用組合,不僅可以適配某人類,也可以適配該類的子類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章