GeekBand 設計模式 筆記&心得 第一周(2)設計模式

模式分類:

創建型模式:創建對象或者變量使用的設計模式,可以減少需求更改時對已創建對象帶來的沖擊。

結構型模式:通過繼承和組合得到更靈活的結構,減少更改對結構帶來的沖擊。

行為型模式:通過繼承和組合來劃分類和對象的職責,減少更改對多個交互對象帶來的沖擊。

類模式處理類與子類關系?? 對象模式處理對象間動態關系

關鍵技法:

靜態->動態?

早綁定->晚綁定

繼承->組合

編譯時依賴->運行時依賴

緊耦合->松耦合


1.Template Method模式

使用虛方法,純虛方法提高類擴展性


2.Strategy策略模式

定義一系列算法。把他們一個個封裝起來,并且使它們可互相替換。該模式使得算法可獨立于使用它的客戶程序而變化

就是不同算法間可以互相替換但不會對穩定的產生影響。

通常運用在有許多條件判斷語句的程序中(并且這個條件判斷語句還可能不斷增加)。

3.Observer觀察者模式

定義對象間一種一對多的依賴關系,以便當一個對象的狀態發生改變時,所有依賴它的對象都得到通知并自動更新。

使用Observer模式可以達到松耦合的效果。

目標發送通知時,無需指定觀察者,通知自動傳播。

4.Decorator裝飾模式

動態地給一個對象增加一些額外的職責。就增加功能而言,Decorator模式比生成子類更為靈活。

這種模式避免了類的膨脹,使用組合的手法提高了類之間的靈活性。

5.Bridge橋模式

將抽象部分與實現部分分離,使它們可以獨立變化

對象間組合的關系解耦了抽象和實現之間固有的綁定關系。

解決了多繼承方案對單一職責原則,復用性差的缺點。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 設計模式簡介: 什么是設計模式?每一個模式描述了一個在我們周圍不斷重復發生的問題,以及該問題的解決方案的核心。這樣...
    hjsadam閱讀 355評論 0 2
  • 設計模式基本原則 開放-封閉原則(OCP),是說軟件實體(類、模塊、函數等等)應該可以拓展,但是不可修改。開-閉原...
    西山薄涼閱讀 3,891評論 3 14
  • 本周課程主要內容為:C++設計模式簡介、面向對象設計八大原則和DOF-23設計模式中的5中模式,包括templat...
    cayhw閱讀 507評論 0 3
  • C++設計模式是本周開始的一門全新的課程,在完成了第一周的學習之后,對C++設計模式有了一定的認識和了解,因此有一...
    GINNYAK閱讀 685評論 0 3
  • 1.設計模式簡介 課程目標 松耦合設計思想 面向對象設計原則 重構技法改善設計 GOF核心設計模式 設計模式 不斷...
    hui1429閱讀 238評論 0 0