3大型別 23種設計模式簡要介紹

2021-10-19 22:39:46 字數 2099 閱讀 4858

提供了一種在建立物件的同時隱藏建立邏輯的方式,而不是使用 new 運算子直接例項化物件。

簡單工廠模式(****** factory pattern):就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。分三種:普通簡單工廠–通過對引數進行條件判斷返回不同例項物件、多方法簡單工廠–提供多個工廠方法,分別建立物件、靜態方法簡單工廠–將多個工廠方法模式裡的方法置為靜態的,不需要建立例項,直接呼叫即可。

工廠模式(factory pattern):定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。一種產品對應乙個工廠。

抽象工廠模式(abstract factory pattern):系統的產品有多於乙個的產品族,而系統只消費其中某一族的產品。產品族擴充套件非常困難,要增加乙個系列的某一產品,既要在抽象的 creator 裡加**,又要在具體的裡面加**。

單例模式(singleton pattern):避免乙個全域性使用的類頻繁地建立與銷毀。

建造者模式(builder pattern):使用多個簡單的物件一步一步構建成乙個複雜的物件。

原型模式(prototype pattern): 該介面用於建立當前物件的轉殖。當直接建立物件的代價比較大時,則採用這種模式。

關注類和物件的組合。

介面卡模式(adapter pattern):作為兩個不相容的介面之間的橋梁。

橋接模式(bridge pattern):通過提供抽象化(作為例項物件的屬性)和實現化之間的橋接結構,來實現二者的解耦。

過濾器模式(filter、criteria pattern):這是對符合條件的物件進行過濾,不是簡單的對傳遞的引數進行判斷。

組合模式(composite pattern):將物件組合成樹形結構以表示"部分-整體"的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。

裝飾器模式(decorator pattern):動態地給乙個物件新增一些額外的職責。就增加功能來說,裝飾器模式相比生成子類更為靈活。

外觀模式(facade pattern):隱藏系統的複雜性,並向客戶端提供了乙個客戶端可以訪問系統的介面。

享元模式(flyweight pattern):用於減少建立物件的數量,以減少記憶體占用和提高效能。

**模式(proxy pattern):為其他物件提供一種**以控制對這個物件的訪問。

關注物件之間的通訊。

責任鏈模式(chain of responsibility pattern):避免請求傳送者與接收者耦合在一起,讓多個物件都有可能接收請求,將這些物件連線成一條鏈,並且沿著這條鏈傳遞請求,直到有物件處理它為止。

命令模式(command pattern): 請求以命令的形式包裹在物件中,並傳給呼叫物件。呼叫物件尋找可以處理該命令的合適的物件,並把該命令傳給相應的物件,該物件執行命令。

直譯器模式(interpreter pattern):提供了評估語言的語法或表示式的方式。直譯器使用該標識來解釋語言中的句子。

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

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

備忘錄模式(memento pattern):儲存乙個物件的某個狀態,以便在適當的時候恢復物件。

觀察者模式(observer pattern):定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。

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

空物件模式(null object pattern):使用乙個空物件取代 null 物件例項的檢查。null 物件不是檢查空值,而是反應乙個不做任何動作的關係。這樣的 null 物件也可以在資料不可用的時候提供預設的行為。

策略模式(strategy pattern):定義一系列的演算法,把它們乙個個封裝起來, 並且使它們可相互替換。

模板模式(template pattern):定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。

訪問者模式(visitor pattern):主要解決穩定的資料結構和易變的操作耦合問題。

23種設計模式分為3大類

建立型模式 建立型模式就是用來描述怎麼建立的物件的,比如最常見的單例模式 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型模式 用於描述如何將類或物件按某種組合成更大的結構 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式 行為型模式 用於描述類或物件之間相互協...

23種設計模式簡要描述

1.單例模式 確定某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項 2.工廠模式 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類 3.抽象工廠模式 為建立一組相關或相互依賴的物件提供乙個介面,而且無需指定他們的具體類 4.模版方法模式 定義乙個操...

設計模式 三大型別

設計模式包含了三種型別 建立型模式 建立物件的同時隱藏創造邏輯的方式,而不是直接使用new運算子直接例項化物件,包含如下幾種模式 簡單工廠模式,抽象工廠模式,單例模式,建造者模式,原型模式。結構型模式 更關注類和物件的組合,繼承這乙個概念被用來組合介面和定義組合物件獲得功能的方式。包含如下幾種模式 ...