Gang Of Four的23中設計模式

Gang Of Four的23中設計模式

標籤(空格分隔): 設計模式


1. 根據目的來進行劃分

根據目的進行劃分可以分爲創建型模式, 結構型模式行爲模式三種.

1.1 創建型模式

怎樣創建對象, 主要特點是 將對象的創建和使用分離, GoF中提供了單例, 原型, 工廠方法, 抽象工廠, 建造者等5中創建型模式.

1.2 結構性模式

用於描述如何將類或者對象按照某種佈局組成更大的結構, GoF提供了代理, 適配器, 橋接, 外觀, 享元, 組合等6中結構性模式.

1.3 行爲模式

用於描述類或對象之間如何通過寫作共同完成單個對象無法完成的任務, 以及怎樣分配職責. GoF中提供了模板方法, 策略, 命令, 職責鏈, 狀態, 觀察者, 中介者, 迭代者, 訪問者, 備忘錄, 解釋器.


GoF的23中設計模式的功能(只列出常見的).

  1. 單例(Singleton)模式: 某個類只能生成一個實例, 該類提供了一個全局訪問點供外部獲取該實例拓展是有限多例模式.
    單例模式代碼
  2. 原型(Prototype)模式: 將一個對象作爲原型, 通過對其進行復制而克隆出多個和原型類似的新實例.
    原型模式代碼
  3. 工廠(Factory)方法: 定義一個用於創建產品的接口, 由子類決定生產什麼產品.
    工廠設計模式
  4. 抽象工廠(AbstractFactory)模式: 提供一個創建產品族的接口, 其每個子類可以生產一系列相關的產品.

  5. 代理(Proxy)模式: 爲某對象提供一種代理以控制對該對象的訪問, 即客戶端通過代理間接的訪問該對象, 從而限制, 增強或者修改該對象的一些特性.
    代理模式
  6. 適配器(Adapter)模式: 將一個類的接口轉換成客戶希望的另一個接口, 使得原本由於接口不兼容而不能一起工作的哪些類一起工作.
    適配器模式
  7. 橋接(Bridge)模式: 將抽象和實現分離, 它他們可以獨立變化, 他們使用組合關係替代竭誠關係來實現, 從而降低了抽象和實現這兩個可變維度的耦合度.
  8. 裝飾(Decorator)模式: 動態的給對象增加一些功能.
  9. 享元(Flyweight)模式: 運行共享技術來有效的支持大量細粒度對象的複用.
    享元模式
  10. 策略(Strategy)模式: 定義了一些列的算法, 並且將每個算法封裝起來, 使他們可以相互替換, 且算法的改變不會影響使用算法的客戶.
    策略模式
  11. 模板方法(TemplateMethod)模式:定義一個操作中的算法骨架,而將算法的一些步驟延遲到子類中,使得子類可以不改變該算法結構的情況下重定義該算法的某些特定步驟。
    模板方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章