Posted on 2009-01-20 17:31
非洲小白臉 閱讀(734)
評論(0) 編輯 收藏 所屬分類:
模式
設計模式-快餐簡解-【外觀模式】
【
外觀模式應用場景舉例】
比如在玩“極品飛車”這款游戲,你只需要等待的就是倒計時到0時以最快的車速沖到第一名,但游戲者根本沒有想過在車沖出去之前要做哪些工作,比如掛
檔,離合器,油箱檢測,調整方向等等的微操作,將這些微操作封裝起來變成一個接口就是外觀模式了。在WEB開發中的MVC分層架構就是典型的一個外觀模
式,每一層將操作的具體內容隱藏起來,保留一個接口供上層調用。
【
外觀模式解釋】
類型:結構模式
為子系統中的一組接口提供一個一致的interface接口界面。
【
外觀模式UML圖】
【
外觀模式-JAVA代碼實現】
新建賽車類:
package car_package;
public class car {
public void start() {
System.out.println("車子已啟動");
}
public void check_stop() {
System.out.println("剎車檢查");
}
public void check_box() {
System.out.println("檢查油箱");
}
public void check_console() {
System.out.println("檢查儀表盤是否異常");
}
}
新建賽車操作的外觀類:
package car_facade;
import car_package.car;
public class car_facade_imple {
public void car_go_go(car car_ref) {
car_ref.check_box();
car_ref.check_console();
car_ref.check_stop();
car_ref.start();
}
}
新建客戶端運行類:
package run_main;
import car_facade.car_facade_imple;
import car_package.car;
public class run_main {
public static void main(String[] args) {
car_facade_imple car_facade_imple_ref = new car_facade_imple();
car_facade_imple_ref.car_go_go(new car());
}
}
程序運行結果如下:
檢查油箱
檢查儀表盤是否異常
剎車檢查
車子已啟動
很簡單吧,將子操作用一個外觀接口封裝起來,然后調用這個接口就是調用那些非常復雜的微操作了。