爪哇一角

          共同探討STRUTS#HIBERNATE#SPRING#EJB等技術
          posts - 3, comments - 6, trackbacks - 0, articles - 99
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          外觀模式

          Posted on 2009-01-20 17:31 非洲小白臉 閱讀(736) 評論(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());
              }

          }


          程序運行結果如下:

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

          很簡單吧,將子操作用一個外觀接口封裝起來,然后調用這個接口就是調用那些非常復雜的微操作了。
          主站蜘蛛池模板: 辽阳县| 依安县| 江川县| 邹平县| 布尔津县| 永平县| 巴楚县| 河源市| 武义县| 堆龙德庆县| 青阳县| 尼玛县| 祥云县| 洛扎县| 临沧市| 梁河县| 石屏县| 融水| 杭锦后旗| 衡东县| 南平市| 云和县| 齐齐哈尔市| 竹山县| 海城市| 科尔| 贡觉县| 邹城市| 秭归县| 密山市| 蕉岭县| 五河县| 新龙县| 达拉特旗| 江油市| 商城县| 西和县| 静安区| 乳山市| 那坡县| 商南县|