前言
大約在一年前學習過一段時間的設計模式,但是當時自己的學習方式比較低效,也沒有深刻的去理解、運用所學的知識.
所以現在准備系統的再重新學習一遍,寫一個關於設計模式的系列博客.
廢話不多說,正文開始.
1. 設計模式是什么
設計模式是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結,使用設計模式是為了可重用代碼、讓代碼更容易被他人理解並且保證代碼可靠性.
2. 學習設計模式的好處
- 提高開發效率,使用設計模式可以避免我們做一些重復工作
- 減少開發人員的溝通成本.
- 閱讀源碼,更深入的理解使用的框架和類庫
- 自己寫出靈活性高、易維護、易擴展和易復用的代碼
3. 設計模式的分類
根據用途設計模式可分為創建型、結構型和行為型三種
3.1 創建型設計模式
創建型模式是處理對象創建的設計模式,試圖根據實際情況使用合適的方式創建對象。
5種創建型設計模式(簡單工廠模式不算):
3.2 結構型設計模式
結構型設計模式是借由一以貫之的方式來了解元件間的關系,以簡化設計.
一以貫之: 指做人做事,按照一個道理,從一而終,出自《論語·里仁》。
注: 以上是百科的解釋,一以貫之是我自己百度貼上的,又能學到技術又能學到成語,看這篇博客賺翻了有沒有.
七種結構型設計模式:
- 適配器模式
- 橋接模式
- 組合模式
- 裝飾者模式
- 外觀模式
- 享元模式
- 代理模式
3.3 行為型設計模式
行為型設計模式是用來識別對象之間的常用交流模式並加以實現。如此,可在進行這些交流活動時增強彈性.
十一種行為型設計模式:
- 職責鏈模式
- 命令模式
- 解釋器模式
- 迭代器模式
- 中介者模式
- 備忘錄模式
- 觀察者模式
- 狀態模式
- 策略模式
- 模板方法模式
- 訪問者模式
4. 學習設計模式的一些其他准備工作
學習設計模式還需要一些其他的知識儲備,例如:
- UML類圖相關知識(部分示例使用UML類圖演示,如沒有相關知識,請移步我的上一篇博客 UML類圖簡介)
- 了解面向對象設計原則
5. 面向對象設計原則
移步 -> 面向對象設計原則
6. 主要參考文獻
大話設計模式
Java設計模式