C 設計模式速記

2022-05-19 01:45:13 字數 2053 閱讀 6207

設計模式分三種型別,共23種:

所有設計模式的實現都遵循的一條原則,即「找出程式中變化的地方,並將變化封裝起來」。

建立型模式,有

靜態工廠模式(factory pattern)靜態方法返回例項

抽象工廠模式(abstract factory pattern)介面方式返回例項

建造者模式(builder pattern)每次返回多個例項

單例模式(singleton pattern)類只有乙個例項

原型模式(prototype pattern)實現icloneable介面

結構型模式,

介面卡模式(adapter pattern)不想實現每個介面

橋接模式(bridge pattern)給橋設定某個例項,用橋呼叫例項方法

過濾器模式(filter、criteria pattern)按條件過濾集合

組合模式(composite pattern)樹結構, 包含父節點和子節點

裝飾器模式(decorator pattern)給方法加點裝飾

外觀模式(facade pattern)computer與cpu, memory關係

享元模式(flyweight pattern)類似threadpool管理執行緒?

**模式(proxy pattern)無法修改某個方法, 繼承該類擴充套件該方法

行為型模式,

責任鏈模式(chain of responsibility pattern)接收者包含另乙個接收者的引用,如果乙個物件不能處理該請求,那麼它會把相同的請求傳給下乙個接收者

命令模式(command pattern)資料驅動, 以命令的形式包裹在物件中,並傳給呼叫物件

直譯器模式(interpreter pattern)實現了乙個表示式介面,該介面解釋乙個特定的上下文 這種模式被用在 sql 解析、符號處理引擎等

迭代器模式(iterator pattern)實現集合類, iterator

中介者模式(mediator pattern)降低多個物件和類之間的通訊複雜性,這種模式提供了乙個中介類,該類通常處理不同類之間的通訊,並支援松耦合,使**易於維護

備忘錄模式(memento pattern)備份乙個資料, 後面可以還原回來

觀察者模式(observer pattern)委託方法呼叫

狀態模式(state pattern)根據狀態呼叫不同的方法

空物件模式(null object pattern)在空狀態的預設行為

策略模式(strategy pattern)add, substract類實現calculator介面, 用乙個輔助類實現計算

模板模式(template pattern)抽象類用1個seal方法呼叫其它虛方法, 虛方法在子類實現

訪問者模式(visitor pattern)通過accept(visitor)方法接受visitor呼叫自己的方法

其他的解釋,大致意思是相同的。

裝飾者模式:動態的將責任加在物件上。

工廠方法模式:定義建立物件的介面,由子類決定具體例項化的類是哪乙個。

注:工廠方法和抽象工廠的區別:工廠方法使用的是繼承,抽象工廠使用的是組合。抽象工廠中每乙個建立介面都可使用工廠方法模式。

單例模式:確保乙個類只有乙個例項,並提供乙個全域性訪問點。

命令模式:將請求封裝成物件,以便使用不同的請求、佇列或者日誌來引數化其它物件。命令模式也支援可撤銷的操作。

介面卡模式:將乙個類的介面,轉換為客戶期望的另乙個類的介面。讓原本介面不相容的類可以合作無間。

注:物件介面卡使用的是組合,類介面卡使用的是繼承。

外觀模式:提供乙個統一的訪問介面,用來訪問子系統的一群介面。

模板方法模式:在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法能夠使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟。

迭代器模式:提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露其內部表示。

組合模式:允許你將物件組合成樹形結構來表現「整體/部分」層次結構。

狀態模式:允許物件在內部狀態改變的時改變他的行為,物件看起來好像修改了它的類。

設計模式速記

根據設計模式英文名稱首字母總結了一下,供初學者使用 建立型 psbf 可簡記為 ps了乙個boy friend 依次是prototype,singleton,builder,factory系列 結構型 abcdffp 記憶 abcde f fg p 依次是adapter,bridge,composi...

設計模式速記

建立型模式 靜態工廠模式 factory pattern 靜態方法返回例項 抽象工廠模式 abstract factory pattern 介面方式返回例項 建造者模式 builder patwww.cppcns.comtern 每次返回多個例項 單例模式 singleton pattern 類只有...

常見設計模式速記

之前面試的時候被問到有關設計模式的東西,當時沒了解多少,隨口敷衍了幾句,說了幾個常見的 單例 工廠 介面卡。面試失敗之後,我專門去查了相關的資料,總算是知道了常見的設計模式,但是這些模式也太多了,足足二十多種,怎麼記憶?根據我自己的總結,用這兩種方法應該能夠幫助記憶 簡單工廠 抽象工廠 工廠方法 單...