<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                外觀模式(Facade)為了小小的糾正一下個人的口語,于是有道了一下:[f?'sɑ:d] 對于外觀模式就是為了子系統對外提供的一組接口提供一個統一的界面,似的其他系統對該系統訪問都通過一個同一段的界面來完成。 外觀模式主要由三部分組成,一個中間類,就是Facade類,負責聯系子系統提供對外的接口,一個是多個子系統,一個是客戶端負責通過Facade類對子系統的功能進行操作。 這里通過簡單的工廠生產帽子,被子,筆賣給消費者的過程,并且用Facade類的前后作對比來簡單的理解Facade模式: Facade模式的原理圖: 對UML部分理解更清楚了一點,發現前面的UML好多不合理的地方,可以學習 [http://blog.csdn.net/zhengzhb/article/details/7187278](http://blog.csdn.net/zhengzhb/article/details/7187278) ![](https://box.kancloud.cn/2016-07-12_578455cd02cab.png) 普通基礎的設計: ~~~ package com.designpattern.facade; public class HatFactory { public static void saleHat() { System.out.println("sale a hat"); } } ~~~ ~~~ package com.designpattern.facade; public class CapFactory { public static void saleCap() { System.out.println("sale a cap"); } } ~~~ ~~~ package com.designpattern.facade; public class PenFactory { public static void salePen() { System.out.println("sale a pen"); } } ~~~ ~~~ package com.designpattern.facade; public class Client { public static void main(String[] args) { CapFactory.saleCap(); HatFactory.saleHat(); PenFactory.salePen(); } } ~~~ 這樣如果客戶想買各種商品的話就必須直接和廠家聯系,然后買商品,實現起來卻是很是麻煩,但是如果引入了如下的Facade類就簡單多了,具體操作如下: ~~~ package com.designpattern.facade; public class Facade { public static void saleHat() { HatFactory.saleHat(); } public static void saleCap() { CapFactory.saleCap(); } public static void salePen() { PenFactory.salePen(); } } ~~~ ~~~ package com.designpattern.facade; public class Client { public static void main(String[] args) { Facade.saleCap(); Facade.saleHat(); Facade.salePen(); } } ~~~ 這樣在客戶買商品的時候只要去Facade商店就行了,直接到商店想買什么就買什么,具體商店和廠家怎么聯絡的客戶是不用去理會的,這樣就對于客戶端程序員提供了很大的簡便可行。一些很好的持久層的框架也是用這樣一個設計模式達到一個很好的用戶體驗。 外觀模式通過提供一個統一的對外接口,避免的外部系統和子系統之間的直接聯系從而降低了系統間的依賴和復雜度。 但是限制了外部系統對子系統調用的靈活性,只能按照外觀類中提供的方式對子系統進行調用。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看