<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                年年作品展,歲歲不同樣,鵝黃新綠漣漪泛起思想的火花卻不盡相同,十期的作品展,從13年3月20號開始到完美落幕,時至今日,她已經在我的記憶中成為過去,這朵小小的浪花激起的漣漪漸漸褪去,也許已沒有也許,但那抹如琉璃般的記憶也在這片平靜中漸漸凝成永恒。當再次凝眸十一期的那群孩子,笑意淺淺,心事微瀾。今天是十一期作品展的日子,看到她們多像去年的我,揣測激情與夢想來到這淡紫色蒲公英飛舞的土地。昨天晚上抽空去看了看十一期的作品展彩排,彩排的過程中,有五彩的燈光,有展示作品的大屏幕,投影儀,還有音響,在整個作品展示的過程中,十一期孩子的后勤人員中,有人負責關閉燈光和打開燈光,有人負責打開和關閉投影儀,一個個作品的銜接需要打開和關閉大屏幕,有的作品是音樂類的軟件,這個時候就要控制音量,打開和關閉音響,咦?這一連串的流程怎么會如此熟悉,猛然間,恍惚,這個儼然就是我們大話設計中的外觀模式啊。 外觀模式,為子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。首先我們來看一下我們外觀模式的結構圖: ? ? ? ??![](https://box.kancloud.cn/2015-12-30_5683743923649.jpg) 依然以我們的上述十一期作品展為例,來看看我們的類圖: ? ? ? ?![](https://box.kancloud.cn/2015-12-30_5683743933095.jpg) 畫好了類圖,來看看我們代碼是如何實現的呢?我們先來看看燈光,投影儀,大屏幕,音響的代碼: ? ? ? ?? ~~~ using?System;?? namespace?Facade??? {??? ????///???? ????//?投影儀??? ?????? ????public?class?Projector??? ????{??? ????????public?void?OpenProjector()??? ????????{??? ????????????Console.WriteLine("打開投影儀");??? ????????}?? ????????public?void?CloseProjector()??? ????????{??? ????????????Console.WriteLine("關閉投影儀");??? ????????}?? ?????????? ????}?? ?????//燈光?? ?????public?class?Light??? ????{??? ????????public?void?OpenLight()??? ????????{??? ????????????Console.WriteLine("打開燈光");??? ????????}?? ????????public?void?CloseLight()??? ????????{??? ????????????Console.WriteLine("關閉燈光");??? ????????}??? ????}??? ??????? ????//屏幕?? ?????public?class?Screen??? ????{??? ????????public?void?OpenScreen()??? ????????{??? ????????????Console.WriteLine("打開屏幕");??? ????????}?? ????????public?void?CloseScreen()??? ????????{??? ????????????Console.WriteLine("關閉屏幕");??? ????????}??? ????}??? ????//音響?? ?????public?class??Acoustics???? ????{??? ????????public?void?Acoustics??()??? ????????{??? ????????????Console.WriteLine("打開音響");??? ????????}?? ????????public?void?CloseAcoustics??()??? ????????{??? ????????????Console.WriteLine("關閉音響");??? ????????}??? ????}??? }?? ~~~ 外觀類中的代碼: ~~~ ???public?class?ProductionFacade??? ????{??? ?????????? ????????///?在外觀類中必須保存有子系統中各個對象??? ??????????? ????????private?Projector?projector;??? ????????private?Light??light;??? ????????private?Screen?screen;??? ????????private?Acoustics???acoustics;??? ?????????? ????????public?ProductionFacade()??? ????????{??? ????????????projector?=?new?Projector();??? ????????????light?=?new?Light();??? ????????????screen?=?new?Screen();??? ????????????acoustics=new?Acoustics();?? ????????????? ????????}?? ????????///???? ????????///?作品開始?? ????????///???? ????????public?void?OpenProduction()??? ????????{??? ????????????//先打開燈光?? ????????????light.OpenLight();??? ????????????//打開投影?? ????????????projector.OpenProjector();??? ????????????//再打開屏幕??? ????????????screen.OpenScreen();??? ????????????//再打開音響?? ????????????acoustics.OpenAcoustics();??? ????????????? ?????????}?? ????????///???? ????????///?作品結束?? ????????///???? ????????public?void?CloseProduction()??? ????????{??? ????????????//關閉燈光?? ????????????light.CloseLight();??? ????????????//關閉投影?? ????????????projector.CloseProjector();??? ????????????//關閉屏幕??? ????????????screen.CloseScreen();??? ????????????//關閉音響?? ????????????acoustics.CloseAcoustics();??? ????????????? ?????????}?? ????????? ????}??? }?? ~~~ 客戶端的代碼: ~~~ ?static?void?Main(string[]?args)??? ????????{??? ????????????Facade.ProductionFacade?movie?=?new?Facade.ProductionFacade();??? ????????????Facade.Projector?projector?=?new?Facade.Projector();?? ?????????????????? ????????????//首先是觀看作品??? ????????????movie.OpenProduction();?? ????????????Console.WriteLine();?? ??????????????? ????????????? ????????????//最后就是關閉作品了??? ????????????movie.CloseProduction();?? ????????????Console.ReadKey();??? ????????}??? ~~~ 簡單的說,就是外觀模式將一個或者多個類的復雜的操作進行了隱藏,只顯示一個一致的界面供客戶端使用。需要注意的是,外觀模式僅僅是給我們提供了更為直接和容易地操作方式,她并沒有把原來的子系統進行隔離,所以,如果你還需要子系統類的更高層的功能,還是可以使用原來的子系統,這個是外觀模式的一大優點,通過外觀模式可以將子系統的接口上建立一個高層接口,并且將這個高層接口提供給客戶端使用,這樣便開業解除掉客戶端和復雜子系統之間的耦合。 十一期的作品展今天晚上在學府拉開序幕,祝福你們,愿這朵小小的浪花在IT的海洋里激起驚濤駭浪,我的大話設計依然在繼續........
                  <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>

                              哎呀哎呀视频在线观看