1. 策略模式(Strategy),它定義了算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化,不會影響到使用算法的客戶。
2. 裝飾模式(Decorator),動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。
3. 代理模式(Proxy),為其他對象提供一種代理以控制對這個對象的訪問。
4. 工廠方法模式(Factory Method),定義一個用于創建對象的接口,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。
5. 原型模式(Prototype),用原型實例指定創建對象的種類,并且通過拷貝這些原型創建新的對象。
6. 模板方法模式(Template Method),定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
7. 外觀模式(Facade),為子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
8. 建造者模式(Builder),將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。
9. 觀察者模式(Observer),定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。
10. 抽象工廠模式(Abstract Factory),提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。
11. 狀態模式(State),當一個對象的內在狀態改變時允許改變其行為,這個對象看起來像是改變了其類。
12. 適配器模式(Adapter),將一個類的接口轉換成客戶希望的另外一個接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
13. 備忘錄模式(Memento),在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到原先保存的狀態。
14. 組合模式(Composite),將對象組合成樹形結構以表示‘部分-整體’的層次結構。組合模式使得用戶對單個對象和組合對象的使用具有一致性。
15. 迭代器模式(Iterator),提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部表示。
16. 單例模式(Singleton),保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
17. 橋接模式(Bridge),將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
18. 命令模式(Command),將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日志,以及支持可撤銷的操作。
19. 職責鏈模式(Chain of Responsibility),使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合關系。將這個對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它為止。
20. 中介者模式(Mediator),用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。
21. 享元模式(Flyweight),運用共享技術有效地支持大量細粒度的對象。
22. 解釋器模式(Interpreter),給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
23. 訪問者模式(Visitor),表示一個作用于某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。
設計模式功能分類:
創建型模式 Creational Pattern
- 單例模式 Singleton Pattern
- 簡單工廠模式 Simple Factory Pattern
- 工廠方法模式 Factory Method Pattern
- 抽象工廠模式 Abstract Factory Pattern
- 原型模式 Prototype Pattern
- 建造者模式 Builder Pattern
結構型模式Structural Pattern
- 適配器模式 Adapter Pattern
- 橋接模式 Bridge Pattern
- 組合模式 Composite Pattern
- 裝飾模式 Decorator Pattern
- 外觀模式 Facade Pattern
- 享元模式 Flyweight Pattern
- 代理模式 Proxy Pattern
行為型模式Behavioral Pattern
- 職責鏈模式 Chain of Responsibility Pattern
- 命令模式 Command Pattern
- 解釋器模式 Interpreter Pattern
- 迭代器模式 Iterator Pattern
- 中介者模式 Mediator Pattern
- 備忘錄模式 Memento Pattern
- 觀察者模式 Observer Pattern
- 狀態模式 State Pattern
- 策略模式 Strategy Pattern
- 模板方法模式 Template Method Pattern
- 訪問者模式 Visitor Pattern