這裡主要討論gof所提出的23種設計模式,可將其分為三種型別:
創造型設計模式
結構型設計模式
行為型設計模式
注重完成物件的例項化,相比於直接例項化物件,根據實際情況選擇合適的設計模式完成物件的例項化,可以為複雜的業務場景帶來更高的靈活性。 創造型設計模式主要包括以下幾種:
抽象工廠設計模式
生成器設計模式
工廠方法設計模式
原型設計模式
單例設計模式
結構型設計模式用於指導我們完成對**的結構劃分,如此,**結構會更加清晰,更易理解,也提高了軟體的可維護性。 結構型設計模式主要包括以下幾種:
介面卡設計模式
橋接設計模式
組合設計模式
裝飾設計模式
門面設計模式
享元設計模式
**設計模式
行為型設計模式主要用於定義物件之間的通訊與流程控制,主要的設計模式都非常注重優化物件之間的資料互動方式。 行為型設計模式主要包括以下幾種:
職責鏈設計模式
命令設計模式
直譯器設計模式
迭代器設計模式
中介者設計模式
備忘錄設計模式
觀察者設計模式
策略設計模式
狀態設計模式
模板方法設計模式
訪問者設計模式
恰當使用設計模式能夠提高**的復用性,但是由於復用性往往會引入封裝與間接呼叫,這些會降低系統效能,增加**複雜程度。因此,除非設計模式能夠幫助我們完成**的實現或者後續的維護工作,否則沒有必要去引入設計模式。 學習設計模式的關鍵並不在於學習設計模式本身,而是在於識別應用場景與潛在的風險,並將設計模式用之有道,這般,設計模式才能算作得心應手的工具。 在沒有必要的情況大可不必去使用設計模式,因為設計模式有可能會犧牲**的簡潔性,而且濫用設計模式多會引入新的問題卻沒有解決原來的問題。保持**的整潔,模組化和可讀性,同時不要讓各類之間過度耦合
設計模式總結
http www.chenjiliang.com article view.aspx?articleid 6708 比較 設計模式 常用程度 適用層次 引入時機 結構複雜度 abstract factory 比較常用 應用級設計時 比較複雜 builder 一般 級 編碼時一般 factory me...
設計模式總結
模式相關的描述 裝飾者 包裝乙個物件,以提供新的行為 狀態 封閉了基於狀態的行為,並使用委託在行為之間切換 迭代器 在物件的集合之間遊走,而不暴露集合的實現 外觀 簡化一群類的介面 策略 封閉可以互換的行為,並使用委託來決定要使用哪乙個 包裝物件,以控制對此物件的訪問 工廠方法 由子類來決定要建立的...
設計模式總結
這類模式的特質是管理物件的建立過程。通常設計總是以使用工廠方法開始,當設計者發現需要更大的靈活性時,設計會向其它建立型模式演化。工廠方法模式 單例模式 抽象工廠方法模式 建造者模式 原型模式 簡單工廠模式 這類模式從程式的結構上解決模組之間的耦合問題。介面卡模式 裝飾模式 橋接模式 組合模式 享元模...