設計模式總結
設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。使用設計模式是為了可重用**、讓**更容易被他人理解、保證**可靠性。設計模式總體來說設計模式分為三大類:
建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。
6大設計原則 :
單一職責原則:類的設計盡量做到只有乙個原因可以引起它的改變
黎克特制替換原則:只要父類出現的地方子類就可以出現,且替換成子類也不會出現任何錯誤或者異常
依賴倒置原則:針對介面程式設計,而不是針對實現程式設計
介面隔離原則:不要建立臃腫龐大的介面。即介面盡量細化,同時介面中的方法盡量少
迪公尺特法則: 乙個物件應該對其他物件有最少的了解,也就是說乙個類要對自己需要耦合或者呼叫的類知道的最少
開閉原則: 乙個軟體實體,比如類,模組,函式應該對擴充套件開放,對修改關閉
23種行為模式的功能總結
單例模式:某個類只能有乙個例項,提供乙個全域性的訪問點。
簡單工廠:乙個工廠類根據傳入的參量決定建立出那一種產品類的例項。
工廠方法:定義乙個建立物件的介面,讓子類決定例項化那個類。
建造者模式:封裝乙個複雜物件的構建過程,並可以按步驟構造。
原型模式:通過複製現有的例項來建立新的例項。
介面卡模式:將乙個類的方法介面轉換成客戶希望的另外乙個介面。
組合模式:將物件組合成樹形結構以表示「」部分-整體「」的層次結構。
裝飾模式:動態的給物件新增新的功能。
**模式:為其他物件提供乙個**以便控制這個物件的訪問。
亨元(蠅量)模式:通過共享技術來有效的支援大量細粒度的物件。
外觀模式:對外提供乙個統一的方法,來訪問子系統中的一群介面。
橋接模式:將抽象部分和它的實現部分分離,使它們都可以獨立的變化。
模板模式:定義乙個演算法結構,而將一些步驟延遲到子類實現。
直譯器模式:給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器。
策略模式:定義一系列演算法,把他們封裝起來,並且使它們可以相互替換。
狀態模式:允許乙個物件在其物件內部狀態改變時改變它的行為。
觀察者模式:物件間的一對多的依賴關係。
備忘錄模式:在不破壞封裝的前提下,保持物件的內部狀態。
中介者模式:用乙個中介物件來封裝一系列的物件互動。
命令模式:將命令請求封裝為乙個物件,使得可以用不同的請求來進行引數化。
訪問者模式:在不改變資料結構的前提下,增加作用於一組物件元素的新功能。
責任鏈模式:將請求的傳送者和接收者解耦,使的多個物件都有處理這個請求的機會。
迭代器模式:一種遍歷訪問聚合物件中各個元素的方法,不暴露該物件的內部結構。
設計模式總結
http www.chenjiliang.com article view.aspx?articleid 6708 比較 設計模式 常用程度 適用層次 引入時機 結構複雜度 abstract factory 比較常用 應用級設計時 比較複雜 builder 一般 級 編碼時一般 factory me...
設計模式總結
模式相關的描述 裝飾者 包裝乙個物件,以提供新的行為 狀態 封閉了基於狀態的行為,並使用委託在行為之間切換 迭代器 在物件的集合之間遊走,而不暴露集合的實現 外觀 簡化一群類的介面 策略 封閉可以互換的行為,並使用委託來決定要使用哪乙個 包裝物件,以控制對此物件的訪問 工廠方法 由子類來決定要建立的...
設計模式總結
這類模式的特質是管理物件的建立過程。通常設計總是以使用工廠方法開始,當設計者發現需要更大的靈活性時,設計會向其它建立型模式演化。工廠方法模式 單例模式 抽象工廠方法模式 建造者模式 原型模式 簡單工廠模式 這類模式從程式的結構上解決模組之間的耦合問題。介面卡模式 裝飾模式 橋接模式 組合模式 享元模...