# 設計模式分類概覽表
現在讓我們看看這個表格。
| SN | 描述 |
| --- | --- |
| Creational | 根據創建對象的概念分成下面幾類。 |
| Class |
| Factory Method(工廠方法) | 通過將數據和事件接口化來構建若干個子類。 |
| Object |
| Abstract Factory(抽象工廠) | 建立若干族類的一個實例,這個實例不需要具體類的細節信息。(抽象類) |
| Builder (建造者) | 將對象的構建方法和其表現形式分離開來,總是構建相同類型的對象。 |
| Prototype(原型) | 一個完全初始化的實例,用于拷貝或者克隆。 |
| Singleton(單例) | 一個類只有唯一的一個實例,這個實例在整個程序中有一個全局的訪問點。 |
| Structural | 根據構建對象塊的方法分成下面幾類。 |
| Class |
| Adapter(適配器) | 將不同類的接口進行匹配,調整,這樣盡管內部接口不兼容但是不同的類還是可以協同工作的。 |
| Bridge(橋接模式) | 將對象的接口從其實現中分離出來,這樣對象的實現和接口可以獨立的變化。 |
| Composite(組合模式) | 通過將簡單可組合的對象組合起來,構成一個完整的對象,這個對象的能力將會超過這些組成部分的能力的總和,即會有新的能力產生。 |
| Decorator(裝飾器) | 動態給對象增加一些可替換的處理流程。 |
| Facada(外觀模式) | 一個類隱藏了內部子系統的復雜度,只暴露出一些簡單的接口。 |
| Flyweight(享元模式) | 一個細粒度對象,用于將包含在其它地方的信息 在不同對象之間高效地共享。 |
| Proxy(代理模式) | 一個充當占位符的對象用來代表一個真實的對象。 |
| Behavioral | 基于對象間作用方式來分類。 |
| Class |
| Interpreter(解釋器) | 將語言元素包含在一個應用中的一種方式,用于匹配目標語言的語法。 |
| Template Method(模板方法) | 在一個方法中為某個算法建立一層外殼,將算法的具體步驟交付給子類去做。 |
| Object |
| Chain of Responsibility(響應鏈) | 一種將請求在一串對象中傳遞的方式,尋找可以處理這個請求的對象。 |
| Command(命令) | 封裝命令請求為一個對象,從而使記錄日志,隊列緩存請求,未處理請求進行錯誤處理 這些功能稱為可能。 |
| Iterator(迭代器) | 在不需要直到集合內部工作原理的情況下,順序訪問一個集合里面的元素。 |
| Mediator(中介者模式) | 在類之間定義簡化的通信方式,用于避免類之間顯式的持有彼此的引用。 |
| Observer(觀察者模式) | 用于將變化通知給多個類的方式,可以保證類之間的一致性。 |
| State(狀態) | 當對象狀態改變時,改變對象的行為。 |
| Strategy(策略) | 將算法封裝到類中,將選擇和實現分離開來。 |
| Visitor(訪問者) | 為類增加新的操作而不改變類本身。 |
- 前言
- 簡介
- 什么是設計模式?
- 設計模式的結構
- 編寫設計模式
- 反模式
- 設計模式的分類
- 設計模式分類概覽表
- JavaScript 設計模式
- 構造器模式
- 模塊化模式
- 暴露模塊模式
- 單例模式
- 觀察者模式
- 中介者模式
- 原型模式
- 命令模式
- 外觀模式
- 工廠模式
- Mixin 模式
- 裝飾模式
- 亨元(Flyweight)模式
- JavaScript MV* 模式
- MVC 模式
- MVP 模式
- MVVM 模式
- 最新的模塊化 JavaScript 設計模式
- AMD
- CommonJS
- ES Harmony
- JQuery 中的設計模式
- 組合模式
- 適配器模式
- 外觀模式
- 觀察者模式
- 迭代器模式
- 惰性初始模式
- 代理模式
- 建造者模式
- jQuery 插件的設計模式
- JavaScript 命名空間模式
- 總結
- 參考