設計模式總結

2022-06-18 14:24:12 字數 1203 閱讀 7629

一、建立型模式

singleton模式解決的時實體物件個數的問題。除了singleton之外,其他建立型模式解決的都是new所帶來的耦合關係

factory method,abstract factory,builder都需要乙個額外的工廠類來負責例項化「易變物件」,而prototype則是通過原型(乙個特殊的工廠類)來轉殖「易變物件」

如果遇到「易變類」,起初的設計通常從factory method開始,當遇到更多的複雜變化時,再考慮重構為其他三種工廠模式(abstract factory,builder,prototype)

二、結構型模式

adapter模式注重轉換介面,將不吻合的介面適配對接

bridge模式注重分離介面與其實現,支援多維度變化

composite模式注重統一介面,將「一對多」的關係轉化為「一對一」的關係

decorator模式注重穩定介面,在此前提下為物件擴充套件功能

facade模式注重簡化介面,簡化元件系統與外部客戶程式的依賴關係

flyweight模式注重保留介面,在內部使用共享技術對物件儲存進行優化

proxy模式注重假借介面,增加間接層來實現靈活控制

三、行為型模式

template method模式封裝演算法結構,支援算法子步驟變化

strategy模式注重封裝演算法,支援演算法的變化

state模式注重封裝物件狀態變化,支援的狀態

memento模式注重封裝物件間的變化,支援狀態儲存/恢復

mediator模式注重封裝物件間的變化,支援物件互動的變化

chain of responsibility模式注重封裝物件責任,支援責任的變化

command模式注重封裝集合物件內部結構,支援請求的變化

iterator模式注重封裝集合物件物件內部的變化,支援集合變化

interpreter模式注重封裝特定領域變化,支援領域問題的頻繁變化

observer模式注重封裝物件通知,支援通訊物件的變化

visitor模式注重封裝物件操作變化,支援在執行時為類層次結構動態新增新的操作

四、設計模式總結

設計模式是建立在對系統變化點的基礎上進行,對發生變化的地方,應用設計模式

程式可以無法一下子確立乙個穩定的設計模式,需要在乙個確定的思路下進行演化

設計模式是為了解決實際需求變化而存在的,如果實際操作中緊耦合的結構已經相對完善與穩定,那麼也並非一定要遵循設計模式的設計思想

設計模式總結

http www.chenjiliang.com article view.aspx?articleid 6708 比較 設計模式 常用程度 適用層次 引入時機 結構複雜度 abstract factory 比較常用 應用級設計時 比較複雜 builder 一般 級 編碼時一般 factory me...

設計模式總結

模式相關的描述 裝飾者 包裝乙個物件,以提供新的行為 狀態 封閉了基於狀態的行為,並使用委託在行為之間切換 迭代器 在物件的集合之間遊走,而不暴露集合的實現 外觀 簡化一群類的介面 策略 封閉可以互換的行為,並使用委託來決定要使用哪乙個 包裝物件,以控制對此物件的訪問 工廠方法 由子類來決定要建立的...

設計模式總結

這類模式的特質是管理物件的建立過程。通常設計總是以使用工廠方法開始,當設計者發現需要更大的靈活性時,設計會向其它建立型模式演化。工廠方法模式 單例模式 抽象工廠方法模式 建造者模式 原型模式 簡單工廠模式 這類模式從程式的結構上解決模組之間的耦合問題。介面卡模式 裝飾模式 橋接模式 組合模式 享元模...