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

2021-09-17 21:21:54 字數 956 閱讀 5200

23種設計模式分為三種類別:建立型模式、結構型模式、行為型模式

物件導向設計模式體現的是抽象的思想,類是對物件的抽象;抽象類是對類的抽象;介面是對行為的抽象。

建造者模式:將乙個複雜物件的構建與它的表示分離, 使得同樣的構建過程可以建立不同的表示

工廠方法模式:定義乙個用於建立物件的介面,讓子類決定例項化哪個類,工廠模式使乙個類的例項化延遲到其子類。它並不能減少工作量,但是能在處理新情況時避免**更加複雜。原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件

單例模式:保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點

建立型模式隱藏了這些類的例項是如何被建立和放在一起,外露的是由抽象類所定義的介面。這樣,建立型模式在建立了什麼、誰建立它、是怎樣被建立的,以及何時建立這些方面提供了很大的靈活性。

建立型模式抽象了例項化的過程。建立型模式都會將關於該系統使用哪些具體的類的資訊封裝起來。允許客戶用結構和功能差別很大的『產品』物件配置乙個系統。配置可以是在編譯時指定,也可以是在執行時指定。

它們都能解耦和優化大量的邏輯判斷。

狀態模式需要具體的狀態子類指明它的下乙個狀態,即在編譯時就以及設定好了。客戶端只需要設定乙個context類的起始狀態,通過呼叫context類來間接執行狀態方法。它更像是if-else。

職責鏈模式中具體子類只需要提供乙個設定下一處理者的介面,不需要知道下乙個處理者是誰。客戶端自行串起整條鏈,即在執行時設定完成。它更像是switch-case。

相對比,職責鏈模式比狀態模式更加靈活,耦合更低。而在客戶端呼叫上職責鏈模式比狀態模式繁瑣,狀態模式只需要維護乙個context類物件。

在物件建立時,都可以使用工廠的手段來避免依賴具體的物件,減少耦合。通常,設計是以使用工廠方法開始,當需要更大的靈活性時,設計便會向其它建立型模式演化

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

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

23種設計模式總結

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

23種設計模式總結

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