【設計模式】總覽

# 設計模式概覽

一、建立型設計模式

1. 簡單工廠(Simple Factory)
定義一個工廠類,能夠根據輸入的不一樣返回不一樣類的實例。
2. 工廠方法(Factory Method)
定義一個用於建立對象的接口,讓子類決定實例化哪個類,Factory Method使一個類的實例化延遲到了子類。
典型場景:一、日誌記錄器;二、數據庫訪問,當用戶不知道最後系統採用哪一類數據庫,以及數據庫可能有變化時。
3. 抽象工廠(Abstract Factory)
提供一個建立一系列相關或相互依賴對象的接口,而無須指定它們的具體類。
具體應用場景: 一、QQ 換皮膚,一整套一塊兒換。 二、生成不一樣操做系統的程序。
4. 建造者工廠(Builder)
具體應用場景:Java 中的 StringBuilder。
5. 單例(Singleton)
保證一個類只有一個實例,並提供一個訪問它的全局訪問點。
6. 原型(Prototype)
用原型實例指定建立對象的種類,而且經過拷貝這些原型來建立新的對象。
具體應用場景:Java 中的 Object clone() 方法。

二、結構型設計模式

1. 適配器(Adapter)
具體應用場景: 一、美國電器 110V,中國 220V,就要有一個適配器將 110V 轉化爲 220V。 三、在 LINUX 上運行 WINDOWS 程序。 四、Java 中的 jdbc。
2. 橋接(Bridge)

詳細信息數據庫

3. 組合(Composite)
具體應用場景:在 Java AWT 和 SWING 中,對於 Button 和 Checkbox 是樹葉,Container 是樹枝。
4. 裝飾(Decorate)
5. 外觀(Facade)
6. 享元(Flyweight)
具體應用場景:一、Java 中的 String,若是有則返回,若是沒有則建立一個字符串保存在字符串緩存池裏面。 二、數據庫的數據池。
7. 代理(Proxy)

三、行爲型設計模式

1. 職責鏈(Chain of responsibility)
2. 命令(Commander)
3. 解釋器(Interpreter)
4. 迭代(Iterator)
具體應用場景:Java 中的 iterator。
5. 中介者(Mediator)
6. 備忘錄(Memo)
7. 觀察者(Observer)
8. 狀態(State)
9. 策略(Category)
10. 模板方法(Template)
11. 訪問者(Visitor)

設計模式之間關係

~~~ TODO設計模式

設計模式對比

~~~ TODO緩存

相關文章
相關標籤/搜索