設計模式基礎(設計模式筆記一)

          Posted on 2005-08-24 10:52 飛馬 閱讀(244) 評論(0)  編輯  收藏 所屬分類: Java

          設計模式---可復用面向對象軟件的基礎

          1  設計模式四要素
              模式名稱、問題、解決方案、效果

          2  設計模式描述
              模式名和分類、意圖、別名、動機、適用性、結構、參與者、協作、效果、實現、代碼示例、已知應用(至少兩個)、相關模式

          3  設計模式編目
              即設計模式分類

          4  設計模式作用
              1)尋找合適的對象
              2)決定對象的粒度
              3)制定對象接口
              4)描述對象的實現
              5)運用復用機制
              6)關聯運行時刻和編譯時刻的結構
              7)設計應支持變化

          5   重要概念
          1 )類繼承與接口繼承
                類繼承根據一個對象的實現定義了另一個對象的實現。它是代碼和表示的共享機制。
               接口繼承(子類型)描述了一個對象什么時候能被用來替代另一個對象。

          2)針對接口編程,而不是針對實現編程。

          3)3種復用技術
               繼承、組合(委托是組合的一種)與參數化類型
               組合技術是通過獲得對其他對象的引用而在運行時刻動態定義的。允許你在運行時刻改變被組合的行為,但是它存在間接性,比較低效。
               繼承在編譯時刻靜態定義的,可直接使用。允許你提供操作的缺省實現,并通過子類重定義這些操作。破壞了封裝性。
              參數化類型允許你改變類所用到的類型。如generic(Ada,java預留)和templates(C++)
              繼承和參數化類型都不能在運行時刻改變。
              注意:優先使用對象組合,而不是類繼承。

           委托(delegation)使組合具有與繼承同樣的復用能力。
            4)2種復用層次
               代碼復用(如工具箱、類庫)、設計復用(如框架)

            5)模式設計應該封裝變化    P20

            6)聚合(aggregation) 與相識(acquaintance,也稱為:關聯、引用)
                聚合意味著一個對象擁有另一個對象或對另一個對象負責。一般我們稱一個對象包含另一個對象或者是另一個對象的一部分。聚合意味著聚合對象和其他所有者具有相同的生命周期。
                相識意味著一個對象僅僅知道另一個對象。相識的對象可能請求彼此的操作,但是他們不為對方負責。相識是一種比聚合要弱的關系,它只標示對象間松耦合關系。
               聚合還是相識是由你的意圖而不是由顯式的語言機制決定的。它們的區別在編譯時刻(源代碼)很難看出來。


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


          網站導航:
           

          posts - 1, comments - 0, trackbacks - 0, articles - 5

          Copyright © 飛馬

          主站蜘蛛池模板: 邯郸县| 彭水| 吉安县| 普安县| 文成县| 平乡县| 手游| 清新县| 乡宁县| 蕲春县| 宁蒗| 淳安县| 桑植县| 南木林县| 屯留县| 枞阳县| 胶州市| 宝应县| 濉溪县| 锡林浩特市| 宁强县| 滦南县| 天镇县| 辽中县| 宽甸| 商洛市| 文山县| 海口市| 浠水县| 左权县| 安岳县| 伊川县| 南通市| 称多县| 元氏县| 铜鼓县| 平和县| 行唐县| 兴业县| 中超| 增城市|