使用頻率 | 所屬類型 | 模式名稱 | 模式 | 簡單定義 |
5 | 創建型 | Singleton | 單件 | 保證一個類只有一個實例,並提供一個訪問它的全局訪問點。 |
5 | 結構型 | Composite | 組合模式 | 將對象組合成樹形結構以表示部分整體的關係,Composite使得用戶對單個對象和組合對象的使用具有一致性。 |
5 | 結構型 | FA?ADE | 外觀 | 爲子系統中的一組接口提供一致的界面,fa?ade提供了一高層接口,這個接口使得子系統更容易使用。 |
5 | 結構型 | Proxy | 代理 | 爲其他對象提供一種代理以控制對這個對象的訪問 |
5 | 行爲型 | Iterator | 迭代器 | 提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內部表示。 |
5 | 行爲型 | Observer | 觀察者 | 定義對象間一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知自動更新。 |
5 | 行爲型 | Template Method | 模板方法 | 定義一個操作中的算法的骨架,而將一些步驟延遲到子類中,TemplateMethod使得子類可以不改變一個算法的結構即可以重定義該算法得某些特定步驟。 |
4 | 創建型 | Abstract Factory | 抽象工廠 | 提供一個創建一系列相關或相互依賴對象的接口,而無須指定它們的具體類。 |
4 | 創建型 | Factory Method | 工廠方法 | 定義一個用於創建對象的接口,讓子類決定實例化哪一個類,Factory Method使一個類的實例化延遲到了子類。 |
4 | 結構型 | Adapter | 適配器 | 將一類的接口轉換成客戶希望的另外一個接口,Adapter模式使得原本由於接口不兼容而不能一起工作那些類可以一起工作。 |
4 | 結構型 | Decrator | 裝飾 | 動態地給一個對象增加一些額外的職責,就增加的功能來說,Decorator模式相比生成子類更加靈活。 |
4 | 行爲型 | Command | 命令 | 將一個請求封裝爲一個對象,從而使你可以用不同的請求對客戶進行參數化,對請求排隊和記錄請求日誌,以及支持可撤銷的操作。 |
4 | 行爲型 | State | 狀態 | 允許對象在其內部狀態改變時改變他的行爲。對象看起來似乎改變了他的類。 |
4 | 行爲型 | Strategy | 策略模式 | 定義一系列的算法,把他們一個個封裝起來,並使他們可以互相替換,本模式使得算法可以獨立於使用它們的客戶。 |
3 | 創建型 | Builder | 生成器 | 將一個複雜對象的構建與他的表示相分離,使得同樣的構建過程可以創建不同的表示。 |
3 | 結構型 | Bridge | 橋接 | 將抽象部分與它的實現部分相分離,使他們可以獨立的變化。 |
3 | 行爲型 | China of Responsibility | 職責鏈 | 使多個對象都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關係 |
2 | 創建型 | Prototype | 原型 | 用原型實例指定創建對象的種類,並且通過拷貝這些原型來創建新的對象。 |
2 | 結構型 | Flyweight | 享元 |
|
2 | 行爲型 | Mediator | 中介者 | 用一箇中介對象封裝一些列的對象交互。 |
2 | 行爲型 | Visitor | 訪問者模式 | 表示一個作用於某對象結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。 |
1 | 行爲型 | Interpreter | 解釋器 | 給定一個語言,定義他的文法的一個表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。 |
1 | 行爲型 | Memento | 備忘錄 | 在不破壞對象的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。 |