伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁(yè) 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> .Net技術(shù) >> 文章正文

Facade Pattern學(xué)習(xí)總結(jié)


 

  首先,F(xiàn)açade模式的作用是什么?簡(jiǎn)化接口。比如我們買電腦,當(dāng)電腦店店員把機(jī)子組裝好后交給我們,我們拿回家把顯示器鍵盤等的插頭都插到機(jī)箱后面,然后用電腦時(shí)只要按一下主機(jī)箱上的電源,電腦就啟動(dòng)了,我們無(wú)需關(guān)心機(jī)箱內(nèi)部各個(gè)部件是如何啟動(dòng),是CPU先過(guò)電還是硬盤先過(guò)電。在這里,這個(gè)機(jī)箱就可以認(rèn)為是一個(gè)Façade,這個(gè)Façade(機(jī)箱)就使啟動(dòng)電腦變得很容易,就算是一個(gè)完全不懂電腦的人,也知道如何啟動(dòng)電腦了。這就是Façade最大作用所在:簡(jiǎn)化接口,使得客戶程序(人)更方便地使用子系統(tǒng)(電腦)。試想,如果沒(méi)有機(jī)箱,那我們想啟動(dòng)電腦豈不是得去記先啟動(dòng)CPU還是先啟動(dòng)硬盤?要怎么啟動(dòng)它們?同時(shí),F(xiàn)açade也讓系統(tǒng)耦合度更低,因?yàn)槟悴恍枰苯痈鶦PU、硬盤等直接接觸了。

接下來(lái)就用代碼示例一下:
下面是幾個(gè)電腦配件類,它們都有一個(gè)Run()方法和一個(gè)Stop()方法,分別表示它們的啟動(dòng)和關(guān)閉:
            //CPU
       internal class CPU {
       public void Run() {

           Console.WriteLine("Cpu is running...");

       }

       public void Stop() {

           Console.WriteLine("Cpu stopped.");

       }

    }

    //主板
        internal class MainBoard {

       public void Run() {

           Console.WriteLine("MainBoard is running...");

       }

       public void Stop() {

           Console.WriteLine("MainBoard stopped.");

       }

    }

    //硬盤
       internal class HardDisk {

       public void Run() {

           Console.WriteLine("HardDisk is running...");

       }

       public void Stop() {

           Console.WriteLine("HardDisk stopped.");

       }

    }

    //內(nèi)存
       internal class Memory {

       public void Run() {

           Console.WriteLine("Memory is running...");

       }

       public void Stop() {

           Console.WriteLine("Memory stopped.");

       }

    }

    //電源
       internal class Power {

       public void Run() {

           Console.WriteLine("Power is running...");

       }

       public void Stop() {

           Console.WriteLine("Power stopped");

       }

    }

然后是個(gè)主機(jī)類(Facade):

       /// <summary>
       /// 電腦主機(jī)(Façade(外觀)類)
       /// </summary>
       public class HostComputerFacade {

       private CPU cpu;

       private MainBoard mainBoard;

       private HardDisk hardDisk;

       private Memory memory;

       private Power power;      

       //構(gòu)造方法,初始化各個(gè)配件
          public HostComputerFacade() {

           cpu = new CPU();

           mainBoard = new MainBoard();

           hardDisk = new HardDisk();

           memory = new Memory();

           power = new Power();

       }

       //啟動(dòng)電腦,我不知道各配件的啟動(dòng)順序如何,我們不妨假設(shè)它們就按如下順序啟動(dòng)
            public void TurnOn() {

           power.Run();

           mainBoard.Run();

           cpu.Run();

           memory.Run();

           hardDisk.Run();

       }

       //關(guān)閉電腦
            public void ShutDown() {

           hardDisk.Stop();

           memory.Stop();

           cpu.Stop();

           mainBoard.Stop();

           power.Stop();

       }

    }

  然后我們就可以在Main()方法中使用“電腦”了:

          public static void Main(string[] args) {

           HostComputerFacade hcf = new HostComputerFacade();

          

           hcf.TurnOn();

           //…這里做一些使用電腦的操作

           hcf.ShutDown();
          }

Look,客戶程序要是想“使用電腦”的話,只要實(shí)例化主機(jī),然后按下電源開關(guān)(TurnOn()),相箱內(nèi)各部件就自動(dòng)按順序啟動(dòng)了,再長(zhǎng)按電源開關(guān)幾秒鐘(ShutDown()),機(jī)箱內(nèi)各部件就按順序停止了,而如果沒(méi)有這個(gè)HostComputerFacade類的話,我們就要親自動(dòng)手讓Power啟動(dòng)、再讓MainBoard啟動(dòng),然后再讓CPU啟動(dòng)…,關(guān)的時(shí)候也要先讓HardDisk停止,再讓Memory停止…,那豈不太麻煩了,對(duì)吧?

總 結(jié):
Facade模式的作用就在于簡(jiǎn)化接口,同時(shí)更松耦合,而各個(gè)子系統(tǒng)之間一般是聯(lián)系比較緊的,就像機(jī)箱內(nèi)的各配件,在某種意義上說(shuō),它們之間的聯(lián)系是挺緊的。


 

作者:未知 | 文章來(lái)源:cnblogs | 更新時(shí)間:2008-3-23 13:05:40

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    沒(méi)有相關(guān)文章
    軟件技術(shù)
    · 開發(fā)語(yǔ)言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開發(fā)
    最新文章  
    ·.net技術(shù) asp.net MVC3 Vi
    ·.net將視頻文件格式轉(zhuǎn)換成
    ·NET Framework 2.0 Servic
    ·如何動(dòng)態(tài)修改winform的app
    ·asp,net軟件結(jié)構(gòu)設(shè)計(jì)和相關(guān)
    ·學(xué)習(xí)怎樣使用ASP.NET中的虛
    ·,net基礎(chǔ)類的學(xué)習(xí):system
    ·.net學(xué)習(xí):c#事件的深入分
    ·Facade Pattern學(xué)習(xí)總結(jié)
    ·C#如何設(shè)置或者獲取目錄的
    ·如何使用XSL來(lái)定義ASP.NET
    ·理解WCF Data Contract契約
    ·如何能在.net2.0開發(fā)的控件
    ·模式怎樣使用,講解模式的
    ·如何解決Menu菜單被frame遮
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.zgna.net All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    庆城县| 温州市| 都江堰市| 闵行区| 固原市| 监利县| 东城区| 呼图壁县| 黄山市| 报价| 彰化市| 木里| 虞城县| SHOW| 泰州市| 察隅县| 泉州市| 嵊泗县| 永仁县| 南靖县| 武夷山市| 宁明县| 法库县| 开封县| 蒙城县| 西乌珠穆沁旗| 镇平县| 平遥县| 玉门市| 宿松县| 宜君县| 张家川| 资源县| 库尔勒市| 洱源县| 武陟县| 荆州市| 青川县| 锦屏县| 苗栗市| 板桥市|