1. 程式人生 > >【設計模式】介面卡模式

【設計模式】介面卡模式

模式定義

介面卡模式將一個類的介面,轉換成客戶期望的另一個介面。介面卡讓原本介面不相容的類可以合作無間。

下圖是該模式的類圖:
介面卡模式類圖

介面卡的作用如下圖所示:
介面卡形象的例子

一個生動的例子

目標介面:
public interface Duck {
	public void quack();
	public void fly();
}

被適配者:
public class WildTurkey implements Turkey {

	@Override
	public void quack() {
		System.out.println("Gobble goggle")
; } @Override public void fly() { System.out.println("I'm flying a short distance"); } } 介面卡: public class DuckAdapter implements Duck { private Turkey turkey; public DuckAdapter(Turkey turkey) { this.turkey = turkey; } @Override public void quack() { System.out.println("I'm duck."
); turkey.quack(); } @Override public void fly() { System.out.println("I'm duck."); turkey.fly(); } } 客戶端: public class AdapterTest { public static void main(String[] args) { Turkey turkey = new WildTurkey(); Duck duckAdapter = new DuckAdapter(turkey); duckAdapter.quack(); duckAdapter.
fly(); } }

參考

  1. Head First 設計模式[書籍]