設計模式的分類和使用

1、什麼是設計模式

模式的定義:模式是一種問題的解決思路,它已經適用於一個實踐環境,並且可以適用於其他壞境。

設計模式通常是對於某一類的軟件設計問題的可重用的解決方案,將設計模式引入軟件設計和開發過程,其目的就在於要充分利用已有的軟件開發經驗。

2、設計模式的作用(或者爲什麼要用設計模式)

(1)  重用設計,重用設計比重用代碼更有意義,它會自動帶來代碼的重用。【代碼複用】

    (2) 爲設計提供共用的詞彙,每個模式名就是一個設計詞彙,其概念使得程序員間的交流更加方便。【方便交流】

    (3) 在開發文檔中採用模式詞彙可以讓其他人更容易理解你的想法,理解爲什麼你會這樣做,你都做了些什麼。

編寫開發文檔也更加容易。【易懂】

    (4) 應用設計模式可以讓重構系統變得容易,可確保開發正確的代碼,並降低在設計或實現中出現錯誤的可能性,還可以爲重寫其他應用程序 提供很好的系統框架。【結構清晰】

    (5) 正確使用設計模式,可以節省大量的時間。【省時】


3、設計模式的三分類兩範圍

按目的準則分類

(1) Creational (創建型):與對象創建有關。

簡單工廠模式(Simple Factory);工廠方法模式(Factory Method);抽象工廠模式(Abstract Factory);

創建者模式(Builder);原型模式(Prototype);單例模式(Singleton)。

    (2) Structural (結構型):處理類或對象的組合。

外觀模式(Facade);適配器模式(Adapter);代理模式(Proxy);裝飾模式(Decorator);橋模式(Bridge);組合模式(Composite);享元模式(Flyweight)。

    (3) Behavioral (行爲型):描述類或對象如何交互及如何分配職責。

模板方法模式(Template Method);觀察者模式(Observer);狀態模式(State);策略模式(Strategy);

職責鏈模式(Chain of Responsibility);命令模式(Command);訪問者模式(Visitor);調停者模式(Mediator);

備忘錄模式(Memento);迭代器模式(Iterator);解釋器模式(Interpreter)。

根據範圍準則分類

(1) 類模式:用於處理類和子類之間的關係,這些關係通過繼承建立,是靜態的,在編譯時就已經確定下來了。因爲從某種意義上說,幾乎所有模 式都是使用繼承機制,因此此處的“類模式”是指集中處理類間關係的模式,只有很少部分模式屬於此類。

(2) 對象模式:用於處理對象間的關係,這些關係具有動態性,在運行期間是可以變化的。

參照表:
範圍\目的 Creational (創建型) Structural (結構型)   Behavioural (行爲型)
Simple Factory Adapter (class) Interpreter
Factory Method   Template method
對象 Abstract Factory Adapter (object) Chain of Responsibility
Builder Bridge Command
Prototype Composite Iterator
Singleton Decorator Mediator
  Facade Memento
  Flyweight Observer
  Proxy State
    Strategy
    Visitor


原文
鏈接:http://www.cnblogs.com/vrliym/articles/1853829.html

發佈了37 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章