設計模式-極品飛車-【外觀模式】

外觀模式應用場景舉例

    比如在玩“極品飛車”這款遊戲,你只需要等待的就是倒計時到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());
    }
}

    程序運行結果如下:

檢查油箱
檢查儀表盤是否異常
剎車檢查
車子已啓動

    很簡單吧,將子操作用一個外觀接口封裝起來,然後調用這個接口就是調用那些非常複雜的微操作了。

    【外觀模式-MyEclipse6項目JAVA代碼實現

    外觀模式facade示例代碼:點擊


發佈了37 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章