處理物件的建立,例項化物件,5個(建造者、原型、單例、工廠方法、抽象工廠)
處理類或物件之間的組合,7個(組合、裝飾者、外觀、享元、**、介面卡、橋接)
描述類或物件怎樣進行互動和職責分配,11個(策略、模板方法、責任鏈、迭代器、直譯器、命令、備忘錄、狀態、中介者、觀察者、訪問者)
1、單一職責:乙個類只能幹一件事情
2、裡式替換原則:任何基類可以出現的地方,子類一定可以出現
3、依賴倒置原則:面向介面程式設計,依賴於抽象而不依賴於具體
4、介面隔離原則:每個介面中不存在子類用不到卻必須實現的方法
5、開閉原則:對擴充套件開放,對修改關閉(不去修改**,而是擴充套件原有**)
6、合成復用原則:盡量首先使用合成/聚合的關係,而不是使用繼承
7、迪公尺特法則:乙個類對自己依賴的類知道的越少越好
23種設計模式分類
建立型 工廠方法 factory method 隔離建立物件的行為可擴充套件 抽象工廠 abstract factory 該模式抽象出建立一組相關物件的介面,其中每個方法即為工廠方法 建造者 builder 與工廠不同的是,該模式包含了物件構造的若干過程,因此天然地與template結合 原型 pr...
23種GoF設計模式的分類
gof設計模式一共有23個。一般可以按目的和作用範圍來進行劃分,具體劃分方法如下 第一,這些模式按目的 即完成什麼樣任務 來劃分為建立型 結構型和行為型這三種模式 第二,按其是用到類上還是物件上來劃分,可以分為類和物件兩種模式。將這兩種分類方法作為縱橫方向,可以將具體的模式分類列乙個表如下。注意 一...
GOF 23種設計模式 怎麼分類
1 建立型模式 前面講過,社會化的分工越來越細,自然在軟體設計方面也是如此,因此物件的建立和物件的使用分開也就成為了必然趨勢。因為物件的建立會消耗掉系統的很多資源,所以單獨對物件的建立進行研究,從而能夠高效地建立物件就是建立型模式要 的問題。這裡有6個具體的建立型模式可供研究,它們分別是 簡單工廠模...