設計模式以前言

1. 模式設計模式

  在必定環境中解決某一問題的方案,包括三個基本元素:問題、解決方案和環境。函數

2. 設計模式學習

  (1)設計模式是一套反覆使用、多數人知曉的、通過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解,保證代碼可靠性。毫無疑問,設計模式於系統是多贏的。spa

  (2)設計模式使代碼編制真正工程化。設計模式是軟件工程的基石脈絡,如同橋樑的結構同樣。設計模式的基礎是多態。設計

    1)實現多態的三個條件:繼承、父類指針(或引用)指向子類對象,虛函數重寫;代理

    2)多態實現原理:VPTR指針和虛函數表。 C++編譯器爲每個含有虛函數的子類或父類提早分配一個VPTR指針,經過VPTR指針找到虛函數表,根據虛函數表找後來人寫的代碼。指針

3.學習設計模式的意義對象

  提升職業素養,關注學員在行業內的長期發展。blog

4. 學習設計模式的方法繼承

  (1)對於初學者:積累案例,大於背類圖。

  (2)初級開發人員:多思考、多梳理,概括總結;尊重事務的認知規律,注意事務臨界點的突破,不可浮躁。

  (3)中級開發人員:合適的開發環境,尋找合適的設計模式,解決問題;多應用;對經典組合設計模式的大量、自由的應用,要不斷的追求。

5. 設計模式的分類

  分爲三大類建立型模式、構建型模式和行爲模式。

  (1)建立型模式:一般和對象的建立有關,涉及到對象實例化的方式。(包括單例模式、工廠方法模式、抽象工廠模式、建造者模式和原型模式5種建立型模式)

   (2)構建型模式:描述的是如何組合類和對象以得到更大的結構。(包括代理模式、裝飾者模式、適配器模式、橋接模式、組合模式、外觀模式、享元模式7種構建型模式)

  (3)行爲模式:對類或者對象怎樣交互和怎樣分配職責進行描述。(包括模板模式、命令模式、責任鏈模式、策略模式、中介者模式、觀察者模式、備忘錄模式、訪問者模式、狀態模式、解釋器模式和迭代器模式共11種模式)

6. 設計模式基本原則

  (1)最終目標:高內聚,低耦合。

  (2)基本原則

 

    下面將舉例介紹開放封閉原則、依賴倒置原則和迪米特法則三種(注:上圖紅色五角星標註原則)

    1)開放封閉原則

    案列圖:
                          

    2)依賴倒置原則

    案列圖:

            

                                

    3)迪米特法則

     案列圖:

             

             

相關文章
相關標籤/搜索