1.抽象工廠(Abstract Factory)模式
意圖:為特定的客戶(或情況)提供特定系列的對象。
2.類的適配器(Adapter)模式
意圖:將一個類的接口轉換成客戶希望的另外一個接口。
3.對象的適配器(Adapter)模式
意圖:將一個類的接口轉換成客戶希望的另外一個接口。
4.橋梁(Bridge)/柄體(Handle and Body)模式
意圖:將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
5.建造(Builder)模式
意圖:將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。
11.門面(Facade)模式
意圖:為子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
12.工廠方法(Factory Method)/虛擬構造子(virtual Constructor)/多態性工廠(Polymorphic Factory)模式
意圖:定義一個用於創建對象的接口,讓子類決定實例化哪一個類。
13.享元(Flyweight)模式
意圖:運用共享技術有效地支持大量細粒度的對象。
14.解釋器(Interpreter)模式
意圖:給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
15.迭代子(Iterator)/游標(Cursor)模式
意圖:提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內部表示。
16.調停者(Mediator)模式
意圖:用一個中介對象來封裝一系列的對象交互。
17.備忘錄(Memento)模式
意圖:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。
18.觀察者(Observer)模式
意圖:定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時, 所有依賴於它的對象都得到通知並被自動更新。
19.原型(Prototype)模式
意圖:用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。
20.代理(Proxy)模式
意圖:為其他對象提供一種代理以控制對這個對象的訪問。
21.單例(Singleton)模式
意圖:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
22.狀態(State)模式
意圖:允許一個對象在其內部狀態改變時改變它的行為。
23.策略(Strategy)模式
意圖:定義一系列的算法,把它們一個個封裝起來, 並且使它們可相互替換。
24.模版方法(Template Method)模式
意圖:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。
25.訪問者(Visitor)模式
意圖:表示一個作用於某對象結構中的各元素的操作。
==========================================================