文章目錄
- 1. 簡介
- 2. 設計模式的分類
- 2.1 創建型模式(Creational Patterns):
- 2.2 結構型模式(Structural Patterns):
- 2.3 行為型模式(Behavioral Patterns):
- 3. 使用設計模式的好處
- 參考
1. 簡介
設計模式(Design Patterns)是軟件工程中針對常見問題的可重用解決方案。它們不是具體的代碼,而是經過驗證的最佳實踐,用于解決特定場景下的設計問題。設計模式最早由 Erich Gamma 等人在《設計模式:可復用面向對象軟件的基礎》一書中提出,共包含 23 種經典模式。
2. 設計模式的分類
2.1 創建型模式(Creational Patterns):
解決對象創建的問題,隱藏創建邏輯。
包括:
C++,設計模式,【單例模式】
C++,設計模式,【工廠方法模式】
C++,設計模式,【抽象工廠模式】
C++,設計模式,【建造者模式】
C++,設計模式,【原型模式】
2.2 結構型模式(Structural Patterns):
解決類和對象的組合問題,形成更大的結構。
包括:
C++,設計模式,【適配器模式】
C++,設計模式,【代理模式】
C++,設計模式,【裝飾器模式】
C++,設計模式,【外觀模式】
C++,設計模式,【橋接模式】
C++,設計模式,【組合模式】
C++,設計模式,【享元模式】
C++,設計模式,【觀察者模式】
2.3 行為型模式(Behavioral Patterns):
解決對象之間的職責分配和通信問題。
包括:
C++,設計模式,【備忘錄模式】
C++,設計模式,【模板方法式】
C++,設計模式,【迭代器模式】
C++,設計模式,【狀態模式】
C++,設計模式,【責任鏈模式】
C++,設計模式,【解釋器模式】
C++,設計模式,【訪問者模式】
3. 使用設計模式的好處
-
提高代碼的可重用性:
- 設計模式提供了經過驗證的解決方案,可以直接應用于類似問題,減少重復代碼。
-
提高代碼的可維護性:
- 設計模式使代碼結構清晰,易于理解和修改。
-
提高代碼的擴展性:
- 設計模式通常遵循開閉原則(對擴展開放,對修改關閉),使系統更容易擴展。
-
提高代碼的靈活性:
- 設計模式通過解耦和抽象,使代碼更靈活,適應需求變化。
-
提高團隊協作效率:
- 設計模式是通用的設計語言,團隊成員可以快速理解代碼的設計意圖。
-
降低代碼的復雜度:
- 設計模式通過抽象和封裝,將復雜問題分解為簡單模塊。
參考
【1】大話設計模式
【2】大丙課堂
【3】菜鳥編程,設計模式
【4】Boolan首席軟件專家李建忠《C++設計模式》課程
【5】設計模式,我悟了!
【6】卡碼網設計模式精講
【7】卡碼網設計模式專題
【8】C++設計模式