【設計模式】設計模式的分類
經典的《設計模式》一書歸納出23種設計模式,本文按《易學設計模式》一書歸納分類如下:
1.建立型模式
前面講過,社會化的分工越來越細,自然在軟體設計方面也是如此,因此物件的建立和物件的使用分開也就成為了必然趨勢。因為物件的建立會消耗掉系統的很多資源,所以單獨對物件的建立進行研究,從而能夠高效地建立物件就是建立型模式要探討的問題。這裡有6個具體的建立型模式可供研究,它們分別是:
簡單工廠模式(Simple Factory);
工廠方法模式(Factory Method);
抽象工廠模式(Abstract Factory);
建立者模式(Builder);
原型模式(Prototype);
單例模式(Singleton)。
說明:嚴格來說,簡單工廠模式不是GoF總結出來的23種設計模式之一。
2.結構型模式
在解決了物件的建立問題之後,物件的組成以及物件之間的依賴關係就成了開發人員關注的焦點,因為如何設計物件的結構、繼承和依賴關係會影響到後續程式的維護性、程式碼的健壯性、耦合性等。物件結構的設計很容易體現出設計人員水平的高低,這裡有7個具體的結構型模式可供研究,它們分別是:
外觀模式(Facade);
介面卡模式(Adapter);
代理模式(Proxy);
裝飾模式(Decorator);
橋模式(Bridge);
組合模式(Composite);
享元模式(Flyweight)。
3.行為型模式
在物件的結構和物件的建立問題都解決了之後,就剩下物件的行為問題了,如果物件的行為設計的好,那麼物件的行為就會更清晰,它們之間的協作效率就會提高,這裡有11個具體的行為型模式可供研究,它們分別是:
模板方法模式(Template Method);
觀察者模式(Observer);
狀態模式(State);
策略模式(Strategy);
職責鏈模式(Chain of Responsibility);
命令模式(Command);
訪問者模式(Visitor);
調停者模式(Mediator);
備忘錄模式(Memento);
迭代器模式(Iterator);
直譯器模式(Interpreter)。
相關文章
- 設計模式分類設計模式
- 設計模式分類之行為型模式設計模式
- 物件導向設計原則&設計模式分類物件設計模式
- 2.設計模式的分類—精讀《JavaScript 設計模式》Addy Osmani著設計模式JavaScript
- 設計模式-模版設計模式概述和使用-抽象類設計模式抽象
- 設計模式 | 4分鐘搞懂10種設計模式設計模式
- 【設計模式】漢堡中的設計模式——策略模式設計模式
- 設計模式----工廠設計模式設計模式
- 設計模式-工廠設計模式設計模式
- Java設計模式——模板設計模式Java設計模式
- 設計模式---外觀設計模式設計模式
- [設計模式]單例設計模式設計模式單例
- 設計模式-裝飾設計模式設計模式
- Python設計模式有哪些?常見分類!Python設計模式
- 【設計模式】漢堡中的設計模式——觀察者模式設計模式
- 設計模式中類的關係設計模式
- 【設計模式】設計模式學習筆記之(一)——類圖、物件之間的關係及設計模式概要設計模式筆記物件
- 設計模式之模板方法模式(三分鐘學會一個設計模式)設計模式
- 設計模式之狀態模式(三分鐘學會一個設計模式)設計模式
- 設計模式之單例設計模式設計模式單例
- 設計模式(四)Singleton設計模式設計模式
- PHP設計模式—建立型設計模式PHP設計模式
- 設計模式 --建類神器之建造者模式設計模式
- 設計模式之UML類圖設計模式
- 【設計模式】設計模式(一)-- 大話設計模式讀書筆記設計模式筆記
- 設計模式的分類和六大原則設計模式
- 【設計模式】最常用的設計模式之一的觀察者模式設計模式
- 物件導向設計的設計模式(一):建立型模式(附 Demo & UML類圖)物件設計模式
- 設計模式----代理模式設計模式
- 設計模式----中介模式設計模式
- 設計模式——策略模式設計模式
- 設計模式(策略模式)設計模式
- 設計模式-中介模式設計模式
- 設計模式-模板模式設計模式
- 設計模式——模板模式設計模式
- 設計模式——代理模式設計模式
- 設計模式-代理模式設計模式
- 設計模式-策略模式設計模式