爪哇一角

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

          外觀模式

          Posted on 2009-01-20 17:31 非洲小白臉 閱讀(736) 評論(0)  編輯  收藏 所屬分類: 模式
          設計模式-快餐簡解-【外觀模式】

          外觀模式應用場景舉例
          比如在玩“極品飛車”這款游戲,你只需要等待的就是倒計時到0時以最快的車速沖到第一名,但游戲者根本沒有想過在車沖出去之前要做哪些工作,比如掛 檔,離合器,油箱檢測,調整方向等等的微操作,將這些微操作封裝起來變成一個接口就是外觀模式了。在WEB開發(fā)中的MVC分層架構就是典型的一個外觀模 式,每一層將操作的具體內容隱藏起來,保留一個接口供上層調用。

          外觀模式解釋
          類型:結構模式
            為子系統(tǒng)中的一組接口提供一個一致的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());
              }

          }


          程序運行結果如下:

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

          很簡單吧,將子操作用一個外觀接口封裝起來,然后調用這個接口就是調用那些非常復雜的微操作了。
          主站蜘蛛池模板: 台湾省| 荆州市| 马关县| 汤原县| 河北区| 松滋市| 磴口县| 湄潭县| 广平县| 龙川县| 贵州省| 霍林郭勒市| 东乡族自治县| 九龙坡区| 屏边| 白河县| 巧家县| 平武县| 光山县| 华安县| 方正县| 泾阳县| 丰都县| 襄汾县| 镇远县| 霞浦县| 息烽县| 登封市| 积石山| 庆元县| 宜宾市| 盐城市| 广安市| 辽宁省| 淄博市| 揭东县| 垫江县| 疏附县| 高雄县| 吕梁市| 三河市|