抽象工廠(Abstract Factory)模式
意圖:為特定的客戶(或情況)提供特定系列的對象
類的適配器(Adapter)模式
意圖:將一個類的接口轉換成客戶希望的另外一個接口
對象的適配器(Adapter)模式
意圖:將一個類的接口轉換成客戶希望的另外一個接口
橋梁(Bridge)/柄體(Handle and Body)模式
意圖:將抽象部分與它的實現部分分離使它們都可以獨立地變化
建造(Builder)模式
意圖:將一個復雜對象的構建與它的表示分離使得同樣的構建過程可以創建不同的表示
責任鏈(Chain of Responsibility)模式
意圖:使多個對象都有機會處理請求從而避免請求的發送者和接收者之間的耦合關系
命令(Command)模式(感覺圖不是很精確)
意圖:將一個請求封裝為一個對象從而使你可用不同的請求對客戶進行參數化對請求排隊或記錄請求日志以及支持可撤消的操作
合成(Composite)/整體(PartWhole)模式 [安全式]
意圖:將對象組合成樹形結構以表示部分整體的層次結構
合成(Composite)/整體(PartWhole)模式 [透明式]
同[安全式]圖
意圖:將對象組合成樹形結構以表示部分整體的層次結構
裝飾器(Decorator)模式
意圖:動態地給一個對象添加一些額外的職責
門面(Facade)模式
意圖:為子系統中的一組接口提供一個一致的界面此模式定義了一個高層接口這個接口使得這一子系統更加容易使用
工廠方法(Factory Method)/虛擬構造子(virtual Constructor)/多態性工廠(Polymorphic Factory)模式
意圖:定義一個用於創建對象的接口讓子類決定實例化哪一個類
享元(Flyweight)模式
意圖:運用共享技術有效地支持大量細粒度的對象
解釋器(Interpreter)模式
意圖:給定一個語言定義它的文法的一種表示並定義一個解釋器這個解釋器使用該表示來解釋語言中的句子
迭代子(Iterator)/游標(Cursor)模式
意圖:提供一種方法順序訪問一個聚合對象中各個元素 而又不需暴露該對象的內部表示
調停者(Mediator)模式
意圖:用一個中介對象來封裝一系列的對象交互
備忘錄(Memento)模式
意圖:在不破壞封裝性的前提下捕獲一個對象的內部狀態並在該對象之外保存這個狀態
觀察者(Observer)模式
意圖:定義對象間的一種一對多的依賴關系當一個對象的狀態發生改變時 所有依賴於它的對象都得到通知並被自動更新
原型(Prototype)模式
意圖:用原型實例指定創建對象的種類並且通過拷貝這些原型創建新的對象
代理(Proxy)模式
意圖:為其他對象提供一種代理以控制對這個對象的訪問
單例(Singleton)模式
意圖:保證一個類僅有一個實例並提供一個訪問它的全局訪問點
狀態(State)模式
意圖:允許一個對象在其內部狀態改變時改變它的行為
策略(Strategy)模式
意圖:定義一系列的算法把它們一個個封裝起來 並且使它們可相互替換
模版方法(Template Method)模式
意圖:定義一個操作中的算法的骨架而將一些步驟延遲到子類中
訪問者(Visitor)模式
意圖:表示一個作用於某對象結構中的各元素的操作
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27637.html