1. 程式人生 > >設計模式:介面卡模式(Adaptor Pattern)

設計模式:介面卡模式(Adaptor Pattern)

/**
 * 介面卡模式將一個類的介面轉換成另一個類的介面,讓原本不相容的類之間可以合作。
 * 注意:裝飾者模式用於給物件新增邏輯以改變原物件的功能,而介面卡模式用於轉換介面,
 * 以使原物件可以和新介面合作。
 * @author Bright Lee
 */
public class AdaptorPattern {
	
	public static void main(String[] args) {
		// 被適配者:
		Adaptee adaptee = new Adaptee();
		// 介面卡:
		Adaptor adaptor = new Adaptor(adaptee);
		// 要被適配的介面,程式是用這個介面進行工作的:
		Target target = adaptor;
		target.request();
	}

}

interface Target {
	
	public void request();
	
}

/**
 * 被適配者
 */
class Adaptee {
	
	public void specificRequest() {
		System.out.println("我是被適配者。");
	}
	
}

/**
 * 介面卡
 */
class Adaptor implements Target {

	private Adaptee adaptee;
	
	public Adaptor(Adaptee adaptee) {
		this.adaptee = adaptee;
	}
	
	public void request() {
		System.out.println("我是介面卡。");
		adaptee.specificRequest();
	}
	
}

執行結果:
我是介面卡。
我是被適配者。