posts - 16,comments - 17,trackbacks - 0

          做了這么久的軟件,從來就沒有好好的學習過設計模式。寫代碼,做設計的時候都是稀里糊涂。做出來的設計,都會不同程度的讓自己感覺到不安。這可能就是《設計模式精解》書中所說那種直覺吧。

          引用:

          留意你的知覺

          出自本能的直覺能對設計質量做出令人驚訝的預測。所謂“出自本能的直覺”,是指當你看到某些不喜歡的東西時,你胃部的感覺。我知道這聽起來并不科學(而且它的確不科學),但我的經驗總是向我證明:當我從直覺上不喜歡一個設計時,一個更好的設計一定就躺在角落里。

          Facade模式:關鍵特征

          意圖:希望簡化現有系統的使用方法。你需要定義自己的接口。
          問題:只需要使用一個復雜系統的一個子集?;蛘撸枰靡环N特殊的方式與系統交互。
          解決方案:Facade向客戶展現使用現有系統的一個新的接口。
          參與者與協作者:向客戶展現一個定制的接口,讓客戶更容易地使用現有系統。
          效果:Facade模式簡化了對所需子系統的使用。但是,由于Facade并不完整,因此某些功能對于客戶可能是可用的。
          現實:1)定義一個(或一組)新的類來提供所需要的接口。
                       2)讓新的類使用現有的系統。

          Facade模式使用于以下情況:

          • 不需要使用一個復雜系統的所有功能,并且可以創建一個新的類來包容訪問原有系統的接口的一個子集(通常它就是)比原始系統AP簡單得多。
          • 希望包裝或隱藏原有系統。
          • 希望使用原有系統的功能,并且希望增加一些新的功能。
          • “編寫一個新的類”的代價小于“讓所有人學會使用原有系統”或“在未來維護整個系統”所需的代價

           

          posted on 2005-03-13 23:41 非飛 閱讀(2643) 評論(0)  編輯  收藏 所屬分類: 軟件工程

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 涿州市| 萝北县| 石河子市| 华亭县| 皮山县| 莒南县| 梅河口市| 固原市| 沁阳市| 麦盖提县| 习水县| 肇东市| 江阴市| 栾川县| 沾益县| 昌黎县| 塘沽区| 乌拉特前旗| 台山市| 波密县| 新绛县| 尚义县| 桑日县| 上饶县| 松江区| 靖远县| 峨眉山市| 龙泉市| 平安县| 大冶市| 襄垣县| 新蔡县| 高淳县| 建始县| 古交市| 江西省| 英德市| 库车县| 宽城| 青龙| 抚顺市|