1. 程式人生 > >設計模式的初步認識

設計模式的初步認識

屬性 eight pat ica nts 第三方類 height 觀察者 橋接

http://blog.csdn.net/zhangerqing/article/details/8194653/

http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html

看了上面2篇文章, 對設計模式有了一個初步簡單的了解,把自己很膚淺的理解寫在下面,當作索引以後學習回顧

Design Pattern
創建型 Factory (工廠模式)
Singleton (單例模式)
結構型 Adapter (適配器模式)
Decorator (裝飾器模式)
Proxy (代理模式)
Fa?ade (外觀模式)
Bridge (橋接模式)
Composite (組合模式)
Flyweight (享元模式)
行為型 Strategy (策略模式)
Template (模板方法)
Observice (觀察者模式)
Iterator (叠代子模式)
Chain of Responsibily (責任鏈模式)
Command (命令模式)
Memento (備忘錄模式)
State (狀態模式)
Visitor (訪問者模式)
Mediator (中介者)
Interprefer (觸發器)

Adapter (適配器模式) 對類: public class Adapter extends Source implements Targetable

          對象:和對類的模式相同, 但不繼承Source類, 在對象中調用另一個對象 (Source作為構造器參數傳入Adapter)

          對接口:abstract實現interface中所有抽象方法, 實現類只需要繼承abstract即可, 可以自由的選擇需要的部分方法, 不需要重寫所有方法

Decorator (裝飾器模式) : 對原方法進行擴展, 擴展前後需要實現同一個接口, 保持方法名的相同. 原類存在擴展類的構造參數中

Proxy (代理模式) : 對原類進行擴展, 原類存在擴展類的構造參數中, 使用權交給Proxy類. 對原類可以進行更加復雜的組裝, 相比Decorator更加靈活

Fa?ade (外觀模式) : 配置類之間的關系, 有點像主板, 對各個相互依賴的類進行組裝以實現一個特定的功能

Bridge (橋接模式) : 動態的選擇使用類, MyBridge中實現了具體功能, 但其所需的驅動類需要根據具體使用者選擇不同的類, 為此定義了一個interface, 在Mybridge中調用這個接口進行模擬。 由Bridge實現動態的註入interface的具體實現類, public class MyBridge extends abstract Bridge。(工廠模式的創建需要顯式的知道接口的具體名稱,          但橋接模式並不需要, 通過set方法實現)

Composite (組合模式) : 遞歸調用, 樹結構的實現

Flyweight (享元模式) :

Strategy (策略模式) :  public abstract class AbstractCalculator; public class Plus extends AbstractCalculator implements ICalculator; 借助輔助類實現接口

Template (模板方法) : public class Plus extends AbstractCalculator ; AbstractCalculator 集成共同算法(實現, 功能), 讓其子類重寫具體的算法實現。給一個模板, 子類繼承後重寫個性化的內容

Observice (觀察者模式) : 在被觀察者類中存儲觀察者屬性, + 策略模式, 借助策略模式中的輔助類, 在輔助類中添加觀察者屬性, 在需要的時候notifyAll

Iterator (叠代子模式) : 集合容器的接口中定義對Iterator接口的調用, 具體的集合容器實現類需要把自身的引用傳給實現Iterator的類, 這個類需要和對應的集合容器匹配

Chain of Responsibily (責任鏈模式) : 同一個時刻, 命令只允許一個對象傳遞給另一個對象, 和組合模式不同

Command (命令模式) : 一層一層 (任務的細化分工), 每一層只需將自己的任務分配或同時完成少量工作, 具體的任務實現交由下一層管理, 下一層再重復這套動作, 直到命令完成

Memento (備忘錄模式) : 原始類中需要有創建備忘錄的方法, 創建一個備忘錄對象交由另一個對象存儲管理

State (狀態模式) : 狀態的改變, 對應調用的方法也要改變

Visitor (訪問者模式) : 被訪問者擁有訪問者的使用權限, 在被訪問者中定義一個方法傳遞自身引用給訪問者, 訪問者想要訪問被訪問者(獲得被訪問者的對象引用), 只能通過被訪問者調用, 訪問者的權限由被訪問者管理

Mediator (中介者) : 第三方類組合其它類

Interprefer (觸發器) : (對數據的存儲)

設計模式的初步認識