我們通過一個簡單的開關電腦模拟程式來說明facade模式(外觀模式)
cpu類
public class cpu
{
public void start()
{
system.out.print("cpu啟動");
}
public void stop()
system.out.print("cpu關閉");
}
電腦風扇類
public class fan
system.out.print("風扇啟動");
system.out.print("風扇關閉");
電腦外觀類
public class computerfacade
cpu cpu = null;
fan fan = null;
public computerfacade()
cpu = new cpu();
fan = new fan();
public void open()
cpu.start();
fan.start();
public void close()
cpu.stop();
fan.stop();
可以想象,開電腦的時候我們不管cpu如何啟動,風扇如何啟動,隻要按一下開關就行了。
來看一下外觀模式的定義
将原來分散在源碼中的類/結構及方法重新組合,形成新的、統一的接口,供上層應用使用。這在某種意義上與adapter及proxy有類似之處,但是,proxy(代理)注重在為client-subject提供一個通路的中間層,如corba可為應用程式提供透明通路支援,使應用程式無需去考慮平台及網絡造成的差異及其它諸多技術細節;adapter(擴充卡)注重對接口的轉換與調整;而facade所面對的往往是多個類或其它程式單元,通過重新組合各類及程式單元,對外提供統一的接口/界面。
參考位址:http://baike.baidu.com/view/2960561.htm