<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Roger Tu

    A simple boy living a simple life in every simple day...

       ::  :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      7 隨筆 :: 0 文章 :: 19 評論 :: 0 Trackbacks

    好的系統設計追求如下特性:

    •   可擴展性(Extensibility):新的功能或特性很容易加入到系統中來;
    •   靈活性(Flexibility):可以允許代碼修改平穩發生,對一處的修改不會波及到很多其他模塊;
    •   可插入性(Pluggability):可以很容易地將一個類或組件抽出去,同時將另一個有相同接口的類/接口加入進來。

       具有如上特性的系統才有真正的可維護性和可復用性。而可維護性和可復用性對一個持續接入新需求,現有功能逐步完善,新功能不斷豐富,版本不會終止的大型軟件產品來說至關重要。

       傳統的復用包括:代碼的copy復用,算法的復用,數據結構的復用。

       在面向對象領域,數據的抽象化、封裝、繼承和多態性是幾項最重要的語言特性,這些特性使得一個系統可以在更高的層次上提供可復用性。數據的抽象化和繼承關系使得概念和定義可以復用;多態性使得實現和應用可以復用;而抽象化和封裝可以保持和促進系統的可維護性。這樣,復用的焦點不再集中在函數和算法等具體實現細節上,而是集中在最重要的宏觀的業務邏輯的抽象層次上。復用焦點的倒轉不是因為實現細節的復用不再重要,而是因為這些細節上的復用往往已經做的很好(例如,很容易找到并應用成熟的數據結構類庫等),而真正沖擊系統的是其要實現業務的千變萬化。

       本質上說,如果說一個軟件的需求是永不變更或發展的,該軟件也就不需要任何設計,怎么編碼實現都行,只要需求滿足,性能達標。但事實上,軟件的本性就是不斷增強,不斷擴展,不斷變化的。我們可以控制指尖流淌出的每行代碼,但控制不了奉為上帝的用戶的需求。編碼結束,測試通過,用戶在使用過程中才發現原來的需求有問題,要變更需要或提出新需求,怎么辦?向用戶抗議:需求總在變,沒法做!?平抑心中的抱怨,加班加點大量的修改代碼,瘋狂的測試,依然是時間緊迫,心中沒底?抑或了然于胸:這個變更或新需求合理,系統很方便納入;于是坦然地和用戶協商下一個交付時間點?

       要使系統最大程度的適應需求的變更或新增,就必須在其要實現的宏觀業務邏輯的抽象復用上下功夫。而設計模式就是綜合運用面向對象技術和特性來提高業務邏輯可復用性的常用方法和經驗的提取和匯總。掌握23種設計模式的關鍵是理解它們的共通目的:使所設計的軟件系統在一般或特定(系統將來在特定點上需要擴展的可能性大)場景下,盡可能的對擴展開放,對修改關閉。即面對新需求或需求變更,容易開發獨立于既有代碼的新代碼接入到現有系統或對現有代碼做可控的少量修改,而不是在現有代碼基礎上做大量的增、刪、改。為了這一目的,23種設計模式貫穿了面向對象編程的基本原則:

    •    面向接口或抽象編程,而不是面向實現編程。
    posted on 2007-03-23 00:25 RogerTu 閱讀(2001) 評論(2)  編輯  收藏 所屬分類: Programming Thought

    評論

    # re: 設計模式基本思想 2007-03-23 03:34 喜來樂哈哈
    >> 盡量不要使用繼承,而是使用組合

    組合并不一定優于繼承,該用繼承的時候還是要用繼承的,特別是當滿足Substitution原理時。

    以前的OO界過于強調繼承,現在則過于強調組合。其實任何一個OO的系統都使用到繼承和組合。

      回復  更多評論
      

    # re: 設計模式基本思想 2009-05-23 19:14 cxf
    寫的不錯。  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 在线播放免费人成毛片乱码| 久久亚洲av无码精品浪潮| 99精品免费视品| 国产精品亚洲va在线观看| 亚洲精品国产福利片| 亚洲综合另类小说色区色噜噜| 三年片在线观看免费观看高清电影 | 亚洲狠狠综合久久| 亚洲人成电影网站国产精品| 成年丰满熟妇午夜免费视频| 69国产精品视频免费| 国产麻豆成人传媒免费观看| 九九免费久久这里有精品23| 国产成人人综合亚洲欧美丁香花| 亚洲五月丁香综合视频| 亚洲理论片中文字幕电影| 亚洲中文字幕日产乱码高清app| 免费在线观看你懂的| 国产精品自在自线免费观看| 成人免费无遮挡无码黄漫视频| 麻豆高清免费国产一区| 未满十八18禁止免费无码网站 | 最新精品亚洲成a人在线观看| 亚洲成AⅤ人影院在线观看| 国产成人涩涩涩视频在线观看免费| 99久久久国产精品免费无卡顿| 久久久久高潮毛片免费全部播放| 无码国产精品一区二区免费模式| a毛片免费全部在线播放**| aa在线免费观看| 任你躁在线精品免费| 在线观看特色大片免费网站| 玖玖在线免费视频| 99久久免费精品视频| 亚洲视频在线观看免费视频| 亚洲免费在线视频播放| 免费看污成人午夜网站| 最近免费中文字幕大全| 国产青草视频免费观看97| 午夜一级毛片免费视频| 亚洲AV无码专区电影在线观看|