23種設計模式分類

2021-10-10 13:45:03 字數 1064 閱讀 7601

建立型

工廠方法(factory method): 隔離建立物件的行為可擴充套件;

抽象工廠(abstract factory):該模式抽象出建立一組相關物件的介面,其中每個方法即為工廠方法;

建造者(builder):與工廠不同的是,該模式包含了物件構造的若干過程,因此天然地與template結合;

原型(prototype):用於以某個物件為模子建立乙個新物件的場景,例如幻燈片種的母版與普通頁、物件的轉殖;

單例(singleton):;

結構型介面卡(adapter class/object):處理遺留系統的不二法寶,也可以用空方法實現介面作為抽象父類;

橋接(bridge):使用關聯代替繼承,解決類多維度的擴充套件導致的類**的問題;

組合(composite):將元件組裝為整體使用;

外觀(facade):封裝扇出,利用樹狀結構減少呼叫者的複雜度;

[待]享元(flyweight):復用變化少的物件;

**(proxy):使用物件的乙個完整的替代品;

行為型直譯器(interpreter):一般用於解釋執行自定義的某種語法;

模板方法(termplate method):框架與鉤子;

責任鏈(chain of responsibility):一組物件按照既定的順序關聯起來,依次處理請求,其中任一物件都有勸停止呼叫傳遞;

命令(command):將行為抽象和解耦;

迭代器(iterator):封裝資料的訪問行為(順序、可見性等);

中介者(meddiator):用乙個中介物件來封裝一系列的互動;新增乙個模組處理兩個模組的互動;

備忘錄(memento):將當前物件的狀態資訊儲存為另乙個物件,使得當前物件可以基於狀態映象快速恢復復原狀態;

觀察者(observer):訂閱/發布模型,用於事件驅動的設計;

[待]狀態機(state):封裝有限狀態機的狀態與狀態遷移,每個狀態定義了自身的輸入與狀態遷移;

策略(strategy):使用介面及使用策略,用於隔離變化;

訪問者(vistor):資料與行為分離方法。通過這種分離,可達到乙個被訪問者動態新增新的操作而無需做其他的修改的效果。

23種設計模式分類

處理物件的建立,例項化物件,5個 建造者 原型 單例 工廠方法 抽象工廠 處理類或物件之間的組合,7個 組合 裝飾者 外觀 享元 介面卡 橋接 描述類或物件怎樣進行互動和職責分配,11個 策略 模板方法 責任鏈 迭代器 直譯器 命令 備忘錄 狀態 中介者 觀察者 訪問者 1 單一職責 乙個類只能幹一...

23種GoF設計模式的分類

gof設計模式一共有23個。一般可以按目的和作用範圍來進行劃分,具體劃分方法如下 第一,這些模式按目的 即完成什麼樣任務 來劃分為建立型 結構型和行為型這三種模式 第二,按其是用到類上還是物件上來劃分,可以分為類和物件兩種模式。將這兩種分類方法作為縱橫方向,可以將具體的模式分類列乙個表如下。注意 一...

GOF 23種設計模式 怎麼分類

1 建立型模式 前面講過,社會化的分工越來越細,自然在軟體設計方面也是如此,因此物件的建立和物件的使用分開也就成為了必然趨勢。因為物件的建立會消耗掉系統的很多資源,所以單獨對物件的建立進行研究,從而能夠高效地建立物件就是建立型模式要 的問題。這裡有6個具體的建立型模式可供研究,它們分別是 簡單工廠模...