設計模式總結

2022-06-18 08:03:12 字數 1149 閱讀 7659

設計模式總結

建立型模式:

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

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

如果遇到「易變類」,起初的設計通常從factory method開始,當遇到更多的複雜變化時,在考慮重構其他三種模式。

結構型模式:

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

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

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

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

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

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

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

行為型模式:

templa 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...

設計模式總結

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

設計模式總結

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