簡述23種設計模式

2022-07-17 16:24:13 字數 2780 閱讀 9792

1.工廠方法模式

這種設計模式屬於建立型模式,由父類負責建立物件的公共介面,通過介面使子類負責生成具體的物件,即通過子類來決定究竟應該例項化哪乙個具體的類.,這樣設計能夠輕鬆的新增新的子類進去以增加新的功能模組,而不影響其他**的編寫,是符合"開閉原則"的.

2.抽象工廠模式

這種設計模式屬於建立型模式,它是提供乙個將相關依賴的物件聯絡起來的介面,不需要再指定它們具體是屬於哪個類,然後在你需要的類裡面去通過介面直接呼叫這些具體的類即可,就例如乙個工廠可以生產多種不同的產品.

3.建造這模式

這種設計模式屬於建立型模式,他就是將物件的構建與他的表示進行分離.就像去餐廳吃飯,餐廳中有各種**,每種**都是由主食和菜品以及湯食等組成,但是組成的**種類確實各式各樣的,用相同的過程來呈現不同的結果以供選擇.

4.原型模式

這種設計模式屬於建立型模式,他是先指定建立物件的種類,然後可以經過複製**源不斷的建立此物件.最簡單的例子就是孫悟空拔毛變猴子,檔案的複製等等.

5.單例模式

這種設計模式屬於建立型模式,他是通過自身建立乙個例項,並且只能有這麼乙個例項,然後他通過訪問自己去提供自身的這個例項.就像乙個人的身份證號,無論在什麼地方,身份證號是不會改變的,並且會在多種地方進行使用.

6.介面卡模式

這種設計模式屬於結構型模式,他是將一種介面轉換成為想要的另一種介面,使不同的介面可以一起使用,就解決了類與類之間因為沒有介面而無法相互聯絡的問題,像膝上型電腦的充電器一樣通過電源介面卡來進行轉換使得電腦能夠通過插頭進行充電.

7.橋接模式

這種設計模式屬於結構型模式,將抽象部分和實現部分分開,即抽象類和實現類分開,使得子類能夠隨便組合呼叫,來產生想要的不同的結果,比如筆的型號和顏色抽象出來,通過子類來具體實現,自由組合,得到想要的畫筆的屬性.

8.組合模式

這種設計模式屬於結構型模式,將多個單獨的物件或實體進行組合形成樹形結構,這種模式對於單個物件和組合物件的是用具有一致性,可以清楚地來表示整體-部分之間的關係,最常見的就是我們資料夾樣例.

9.裝飾模式

這種設計模式屬於結構型模式,動態的給想要增加職責的物件新增職責,使用裝飾模式的話就不用再去使用繼承了,直接在抽象的裝飾類裡新增相應的裝飾類即可,也是符合"開閉原則"的,不用去修改其他的類.

10.外觀模式

這種設計模式屬於結構型模式,這個理解起來比較簡單,比如**就是為特定的介面的集合提供乙個介面,然後子系統套子系統這樣,適用關聯關係將外觀類與子系統類進行聯絡起來既可以了,再舉個簡單的例子就是遙控器,也是這個模式.

11.享元模式

這種設計模式屬於結構型模式,為了避免重複建立物件耗費資源的問題,享元模式通過建立享元池,實現物件的共享來節約資源,對於相似度比較高,狀態變化很小的物件,提供共享機制,就可以節約大量的資源來用在其他需要的地方.

12.**模式

這種設計模式屬於結構型模式,有時候不能直接呼叫或不想直接引用乙個物件,就需要乙個第三者就是**類來實現客戶與目標類的通訊,**和實體有相同的父類,使用者通過**與實體進行通訊,**類有著自己特有的方法去訪問實體類,一般**與實體是關聯的關係。

13.職責鏈模式

這種設計模式屬於行為型模式,將能夠處理同一類請求的物件連成一條鏈,所提交的請求沿著鏈進行傳遞逐個判斷是否能夠處理該請求,如果不能則繼續傳遞給下乙個,直到能過處理該請求為止,就像請假的天數和能夠給你請假的上級.

14.命令模式

這種設計模式屬於行為型模式,將請求的傳送者和請求的接收者分離,通過抽象程式設計的方式,使得相同的請求傳送者可以作用於不同的請求接收者,遙控器就是乙個比較典型的例子.

15.直譯器模式

這種設計模式屬於行為型模式,自定義乙個新的程式語言,該語言有一套自己的語法規範,如運算子和關鍵字等,它易於改變,擴充套件文法和實現文法,增加了新的解釋表示式的方式,也符合開閉原則.

16.迭代器模式

這種設計模式屬於行為型模式,通過乙個專門的物件來集合對物件的遍歷,也就是對要遍歷的物件進行封賬,而不需要直接操作聚合物件,這個模式是單一職責原則的完美體現,他簡化了聚合類並且為遍歷不同的聚合類提供了統一的介面.

17.中介者模式

這種設計模式屬於行為型模式,一如乙個中間物件,是系統中原有物件兩兩之間的複雜互動關係簡化為與中間物件的互動,即可以將乙個網狀的互動結構改為星狀互動結構,從而使其耦合度鬆散.

18.備忘錄模式

這種設計模式屬於行為型模式,這個其實就是將你的操作記錄起來,儲存在準備好的棧中,以便再想要恢復的時候重新從棧中拿出來進行恢復的過程,相當於是提供了乙個後悔的機制,使得物件可以恢復到某乙個歷史的狀態.

19.觀察者模式

這種設計模式屬於行為型模式,他是乙個動態的實時反饋機制,當乙個物件的狀態進行了改變之後,那麼與其相關的類就根據此類的狀態,做出相應的反應,即乙個物件的行為將會影響到其他多個物件的行為的一種模式.

20.狀態模式

這種設計模式屬於行為型模式,乙個物件可以在其內部進行改變其自身的狀態,然後根據其狀態做出相應的反應行為,物件狀態不同時,其行為也不相同,狀態在轉換的時候,物件的行為也會跟著改變.

21.策略模式

這種設計模式屬於行為型模式,實現某功能存在多種方式,在不修改現有系統的基礎上可以靈活選擇或更換實現方式,也可以使用新的實現方式,所以需要將其封裝起來,以便需要時可以進行相互之間的替換.

22.模板方法模式

這種設計模式屬於行為型模式,在父類中提供乙個方法定義乙個操作序列,而將具體的實現操作放在子類中,就是對於不同的過程提供不同方法調取,不同的過程可以說就是乙個模板,調取方法時按照模板自身的方法步驟來進行呼叫.

23.訪問者模式

這種設計模式屬於行為型模式,存在多種型別的物件可以訪問某個聚合結構中不同型別的元素物件,不同型別的物件對於不同元素物件可以使用不同的訪問方法,

23種設計模式簡述及其命名

摘錄於 設計模式 可復用物件導向軟體的基礎 總結下設計模式簡述與常用命名與別名,方便使用和閱讀 時好理解。推薦幾篇全面講設計模式的文章 設計模式看了又忘,忘了又看?liebrother 設計模式全23種 鬼滅之刀 23種設計模式彙總整理 炸斯特 名稱英文名 別名可變的方面 抽象工廠 abstract...

設計模式 23種設計模式

一 軟體設計模式的概念 軟體設計模式 software design pattern 又稱設計模式,是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。它描述了在軟體設計過程中的一些不斷重 生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的 設計經驗的總結...

23種設計模式

建立型 1.單件模式 singleton pattern 2.抽象工廠 abstract factory 3.建造者模式 builder 4.工廠方法模式 factory method 5.原型模式 prototype 結構型 6.介面卡模式 adapter pattern 7.橋接模式 bridg...