夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          外觀模式
          為子系統(tǒng)中的一組接口提供一個一致的界面,
          Facade模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用
          外觀模式的組成部份:
          1.子系統(tǒng)
          2.外觀類 包含每個子系統(tǒng)的類,并提供一個方法,按業(yè)務(wù)邏輯依次訪問子系統(tǒng)里的方法,使之組成一個有機(jī)體
           例子:
          讀文件:
          package facade;

          public class ReadFile
          {   
              
          public void readFile()
              
          {
                  System.out.println(
          "讀文件");
              }

          }


          解析文件:
          package facade;

          public class ParseFile
          {   
              
          public void parse()
              
          {
                  System.out.println(
          "解析文件");
              }

          }


          存文件:
          package facade;

          public class SaveFile
          {   
              
          public void saveFile()
              
          {
                  System.out.println(
          "保存文件");
              }

          }


          外觀類:
          package facade;

          public class Facade
          {   
              
          // 解析文件
              private ParseFile parseFile;
              
              
          // 讀文件
              private ReadFile readFile;
              
              
          // 保存文件
              private SaveFile saveFile;
              
              
          public Facade()
              
          {
                  parseFile 
          = new ParseFile();
                  readFile 
          = new ReadFile();
                  saveFile 
          = new SaveFile();
              }

              
              
          public void oparatFile()
              
          {
                  
          this.readFile.readFile();
                  
          this.parseFile.parse();
                  
          this.saveFile.saveFile();
              }

          }



          外觀模式的優(yōu)點(diǎn):

          正如上看到的說:客戶端代碼(Program)不需要關(guān)心子系統(tǒng),它只需要關(guān)心CarFacade所留下來的和外部交互的接口,而子系統(tǒng)是在CarFacade中聚合。

           
          Façade模式的幾個要點(diǎn):

                 1、從客戶程序的角度看,F(xiàn)acade模式不僅簡化了整個組件系統(tǒng)的接口,同時對于組件內(nèi)部與外部客戶程序來說,從某種程度上也達(dá)到了一種“解耦”的效果——內(nèi)部子系統(tǒng)的任何變化不會影響到Facade接口的變化。

          2、Facade設(shè)計模式更注重從架構(gòu)的層次去看整個系統(tǒng),而不是單個類的層次。Facade很多時候更是一種架構(gòu)設(shè)計模式。

           

          posted on 2011-08-01 00:37 HUIKK 閱讀(310) 評論(0)  編輯  收藏 所屬分類: Design Patterns
          主站蜘蛛池模板: 新河县| 资溪县| 塘沽区| 道孚县| 阳东县| 堆龙德庆县| 班玛县| 宣武区| 合肥市| 武隆县| 五家渠市| 青田县| 许昌市| 隆尧县| 屯留县| 双桥区| 蒙自县| 调兵山市| 临朐县| 林州市| 南漳县| 旌德县| 庆云县| 沂南县| 黄山市| 高安市| 涿州市| 武宣县| 洮南市| 安多县| 进贤县| 马公市| 江陵县| 西昌市| 连江县| 凤山市| 本溪市| 乐业县| 平安县| 上虞市| 应城市|