設計模式學習筆記二十五——總結

來源:互聯網
上載者:User

        從學習設計模式到現在有3個月了,原計劃2個月學完,因為這段時間工作比較忙有所耽擱,所以直到現在才把書和視頻啃完。經過這段時間的學習,學到了很多東西,主要是對OO有了更多的認識,以前的的認識不過是語言層面的,而現在在設計層次有了更多認識。李建忠老師的視頻真的很有用,之前看設計模式這本書都是霧裡看花,不是看得很清楚,理解也不到位,甚至覺得很苦澀,通過他視頻的重新梳理,回過頭來理解設計模式這本書的內容來是如此的輕鬆!這也使我真正體會到了這本書的巨大價值,他沒有提供很多實際性的例子,但是在思想上給了我們很大的提高。在我現在所做的項目中,已經開始應用這些模式,也許用得不是很好,但是至少是個好的開始。這兩天在china-pub上找《物件導向分析和設計》、《敏捷式軟體開發 (Agile Software Development):原則、模式與實踐》這兩本書,第一本好像翻譯得不怎麼樣,而且第三版也出了很久了但是一直都沒引進,所以暫時買第二本吧,昨天已經下訂單了,希望明天能到貨。還是來簡要回顧下各個設計模式。
        1、建立型模式:
        Singleton:限制執行個體化對象的個數,比如抽象工廠中的工廠、對象池等。
        Abstract Factory:建立一系列相互依賴對象,並能在運行時改變系列。
        Factory Method:建立單個對象,在Abstract Factory有使用到。
        Prototype:通過拷貝原型原型對戲那個來建立新的對象。
        2、組合模式
        Adapter:實現介面轉換,用於舊代碼複用、類庫遷移等。
        Bridge:實現抽象和實現的分離,支援對象多維度變化。
        Composite:屏蔽對象容器內部實現結構,實現對象和對象容器使用的一致性。
        Decorator:實現對象功能的擴充,避免子類膨脹。
        Facade:屏蔽各子系統的複雜性,提供更高層介面供客戶訪問。
        Flyweight:通過共用大量細粒度對象,提供系統效能。
        Proxy:通過增加間接代理,實現更多控制,屏蔽複雜性。
        3 、行為型模式
        Chain of Responsibility:動態構建職責鏈,實現交易處理。
        Command:將一組行為抽象為對象,實現行為要求者和行為實現者之間的解耦。
        Interpreter:將特定領域的問題表達為某種文法規則下的句子,然後構建一個解譯器來解釋這樣的句子,從而達到解決問題的目的。
        Iterator:屏蔽集合對象內部複雜結構,提供客戶程式對它的透明遍曆。
        Mediator:封裝一系列對象之間的複雜互動,使他們不需要顯式相互引用,實現解耦。
        Observer:實現對象狀態改變,通知依賴它的對象並更新。
        Memento:實現對象狀態儲存及恢複。
        State:封裝對象狀態,從而在其內部狀態改變時改變它的行為。
        Strategy:封裝一系列演算法,從而可以隨時獨立於客戶替換演算法。
        TemplateMethod:定義演算法骨架,通過子類虛函數重寫實現子方法的改變。
        Visitor:在類階層中,在不改變各類的前提下定義作用於這些類執行個體的新的操作。
        設計之路剛剛開始,還需繼續努力

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.