23種設計模式總結

2021-08-02 22:40:25 字數 1397 閱讀 4034

前言

設計模式屬於系統架構,是程式設計師長期以來的經驗總結,不是一門技術性語言。設計模式的作用就是讓你的**系統解耦合,可最大力度的提高系統靈活擴充套件性。當然用設計模式和不用設計模式也許都可以實現**預期目的,但如果想要你的系統易於維護,考慮長遠的發展的話,這種經驗就不可或缺。不會偷懶的程式設計師不是好程式設計師,時間是很寶貴的。

分類(基本按照使用頻率順序排列,個性特點簡語已歸納,如需詳細了解連線)

建議熟練掌握的幾種設計模式

單例模式–單物件建立(建立型模式01)

單例模式適用於整個系統物件需要單一例項的場景,比如遊戲系統的boss。使用單例模式可以避免重複例項化物件,避免重複建立**出錯而引起的一系列問題。

工廠方法模式–應用最廣(建立型模式02)

工廠方法模式適用於批量生產物件,避免重複作業,比如遊戲系統的源源不斷的小怪。搭配原型模式可以大大提高效率,節省系統資源。

抽象工廠方法模式–不確定產品設計(建立型模式03)

抽象工廠方法模式與工廠方法模式的區別在於,抽象工廠管理的更加具體,比如工廠方法是乙個小的車廠只按要求封裝國產輪胎、國產引擎的汽車類,封裝好後就批量生產這一種型別的汽車。而抽象工廠方法模式則是乙個大型汽車生產商,他對各種引擎、輪胎都劃分了國產、進口等種類,而生產汽車分為國產零件和進口零件。抽象工廠方法是工廠方法的公升級版本,我們從**也可以看到他們的耦合進一步降低了。

**模式–你說我來做,反射幫大忙(結構型模式06)

**模式適用於間接訪問物件,**模式應用到了jdk的反射機制,優點是動態**不需要知道具體實現類就可以很好的完成某項工作,**模式實際應用中很常見應熟練掌握。

介面卡模式–我是萬能膠(建立型模式05)

介面卡模式靈活性在於可以根據需求轉換原資料到需求資料,從android的sdk中我們已經體會到了各種各樣的adapter的使用,可見這個模式也很重要。

觀察者模式–眾多通知,一步到位(行為模式06)

觀察者模式實現了監聽–通知的效果,我們的手機狀態列通知應用推送資訊,也是這個原理。包括其他流行的聊天軟體訊息通知也不乏他的身影。其作用可見一斑。

裝飾模式–動態新增裝飾物(結構型模式03)

裝飾模式要求對本體進行二次加工,在其基礎之上新增新功能,從而實現自定義的目的。裝飾器模式應用也很廣泛,應熟練掌握。

外觀模式–高層呼叫,刪繁就簡(結構型模式04)

外觀模式講究封裝的使用,乙個好的軟體系統,不能讓使用者做很多操作,使用者體驗差是能直接拉低好感度的弊端。外觀模式要求封裝操作,使用者只需簡單操作就可實現各種類之間的呼叫搭配,從而實現預期目的。

策略模式–條條大路通羅馬(行為模式07)

策略模式適用於根據需求的不同而給出不同的對策。比如**登入根據使用者進入和管理員進入顯示不同的介面。

總結

23種設計模式總結

下面我總結我一下我的記憶方法,希望給大家分享。首先列出23種設計模式 1 singleton 單件 2 abstract factory 抽象工廠模式 3 builder 生成器模式 4 factory method 工廠方法模式 5 prototype 原型模式 6 adapter 介面卡模式 7...

設計模式 23種設計模式總結

建立型 在建立物件的同時隱藏建立邏輯 工廠構建器 原型結構型 關注類和物件的組合 橋接介面卡 組合裝飾 外觀享元 行為型 關注物件間的通訊 責任鏈命令 迭代器中介者 結構 使用者類 傳送訊息 聊天室類 顯示訊息 使用者 類通訊 使用者作為聊天室傳送訊息方法的引數,使用者類中直接呼叫聊天室的方法 靜態...

設計模式筆記 23種模式總結

23種設計模式分為三種類別 建立型模式 結構型模式 行為型模式 物件導向設計模式體現的是抽象的思想,類是對物件的抽象 抽象類是對類的抽象 介面是對行為的抽象。建造者模式 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示 工廠方法模式 定義乙個用於建立物件的介面,讓子類決定例項...