設計模式 GOF23最常用對比

2021-10-05 18:37:27 字數 2820 閱讀 9742

1.單例模式

好處

使用場景2.原型模式

好處

1.節省程式中運算元據時需要大量的開闢物件 , 可以節省物件的開闢時間,提高程式效能。

使用場景

1.使用者資訊批量上傳 , 比如excel 上傳使用者資訊 , 大量的建立物件。

2.列表資訊 集合資訊 物件申請。

工廠模式

工廠模式包含 工廠方法 與 抽象工廠

好處

1.統一物件的訪問入口 , 把管理權交給工廠 , 客戶端程式員對物件的訪問通過工廠訪問 , 可以控制物件的開闢使用對程式物件進行解耦。

工廠方法

爭對某一種物件進行管理建立

抽象工廠

多元化的物件建立,不同產品型別 產品結構進行建立 ,但是會增加程式的複雜度,可以對程式結構。

使用場景

1.網頁返回資訊物件統一 , 物件屬性 msg code success 。

2.spring ioc 的基本原理 , 註冊式單例 與 工廠模式

**模式

好處

1.業務邏輯解耦合,提取出公共部分 , 讓開發人員注重**的業務邏輯,精簡**,大大提公升了程式的可維護性。

使用場景

1.***

2.過濾器

3.日誌資訊讀取寫入。

4.身份校驗。

5.jdbc 連線資料庫 , 釋放資源。

6.許可權控制。

策略模式

好處

封裝不同演算法 , 每個演算法相互隔離 , 使用者選擇其中一種演算法,進行使用,一般用於減少程式中的 if else , 同時也可以對 **拆分減少程式的維護成本。

使用場景介面卡模式

好處

使用場景

1.乙個介面的使用者需要變更介面當中的資料結構 , 但是介面一般時發布出來就不會輕易進行修改的 , 如果在原介面的基礎上變更,可能會在不經意直接影響其他服務,變更的風險較大,並且不好排查,可新寫乙個介面卡進行處理,讓其相容新的使用者。

門面模式

好處1.客戶端統一資料**,將要使用的資料經過處理通過統一的介面返回,減少了介面的呼叫頻率 , 提公升程式效能, 與**的簡潔性。

使用場景

1.業務架構三層 controller service dao。

2.http 資料介面。

享元模式

好處

1.減少物件的開闢 ,提公升物件的重複使用率 ,減少記憶體使用率, 可以理解為 註冊式單例。

使用場景

1.ioc 容器

2.記憶體穿透場景。 先從快取讀取如果快取沒有再從資料庫讀取 , 最後快取到快取。

模板方法模式

好處

1.程式設計師只需要設定好模板 , 之後往模板裡面填充 一步步的資料操作 , 程式邏輯執行有條理 , 從上至下 , 類似於模組化無狀態, 各個操作解耦合, 可以快速定位問題所在。

使用場景

1.支付場景

1.校驗使用者資訊完整性

2.校驗資料完整性

3.對資料加鎖 , 下支付訂單。

4.收到支付結果,修改訂單狀態,生成訂單完成物件返回。

備忘錄模式

作用

備忘錄模式使用的場景很少,類似於回滾操作

使用場景

富文字編輯器 的 ctrl + z

存檔功能,還原功能,快照

建造者模式

好處

使用場景

鏈式程式設計

1.student.setname(「張三」).setage(18).set***(0)
裝飾者模式

好處

裝飾物件 與 裝飾品進行解耦合 , 使用者靈活定製裝飾物件,擴充套件裝飾品,大大的提公升了程式的靈活性。

使用場景

遊戲人物裝備的裝飾 , 裝飾服飾 , 裝飾裝備 , 服飾裝備 人物 有多種最終的被裝飾的結果 , 這個時候可以使用裝飾者模式靈活的去擴充套件。

觀察者模式

jdk 提供觀察者介面 與 被觀察者類

使用該模式可以觀察物件的使用狀態 , 在物件行為發生改變觸發的時候通知觀察者物件,進行相關處理。

使用場景

發布訂閱模式是最常用的一種觀察者模式的實現

訊息推送

委派模式 與 簡單工廠模式不屬於 gof 23 種設計模式之一。

委派模式可以理解為 全權靜態**模式 , **模式注重於**增強 ,委派模式注重於結果。

簡單工廠,快速生產物件。

GOF23 設計模式

design patterns elements of reusable object oriented software 即後述 設計模式 一書 由 erich gamma richard helm ralph johnson 和 john vlissides 合著 addison wesley,...

GoF23種設計模式

設計模式的經典名著 design patterns elements of reusable object oriented software,中譯本名為 設計模式 可復用物件導向軟體的基礎 的四位作者erich gamma richard helm ralph johnson,以及john vli...

GoF 23種設計模式

建立型模式 factory模式 abstractfactory模式 singleton模式 builder模式 prototype模式 結構型模式 bridge模式 adapter模式 decorator模式 composite模式 flyweight模式 facade模式 proxy模式 行為模式...