JavaScript 設(shè)計模式分類概覽表

2018-08-02 16:23 更新

設(shè)計模式分類概覽表

現(xiàn)在讓我們看看這個表格。

SN 描述
Creational 根據(jù)創(chuàng)建對象的概念分成下面幾類。
Class
Factory Method(工廠方法) 通過將數(shù)據(jù)和事件接口化來構(gòu)建若干個子類。
Object
Abstract Factory(抽象工廠) 建立若干族類的一個實(shí)例,這個實(shí)例不需要具體類的細(xì)節(jié)信息。(抽象類)
Builder (建造者) 將對象的構(gòu)建方法和其表現(xiàn)形式分離開來,總是構(gòu)建相同類型的對象。
Prototype(原型) 一個完全初始化的實(shí)例,用于拷貝或者克隆。
Singleton(單例) 一個類只有唯一的一個實(shí)例,這個實(shí)例在整個程序中有一個全局的訪問點(diǎn)。
Structural 根據(jù)構(gòu)建對象塊的方法分成下面幾類。
Class
Adapter(適配器) 將不同類的接口進(jìn)行匹配,調(diào)整,這樣盡管內(nèi)部接口不兼容但是不同的類還是可以協(xié)同工作的。
Bridge(橋接模式) 將對象的接口從其實(shí)現(xiàn)中分離出來,這樣對象的實(shí)現(xiàn)和接口可以獨(dú)立的變化。
Composite(組合模式) 通過將簡單可組合的對象組合起來,構(gòu)成一個完整的對象,這個對象的能力將會超過這些組成部分的能力的總和,即會有新的能力產(chǎn)生。
Decorator(裝飾器) 動態(tài)給對象增加一些可替換的處理流程。
Facada(外觀模式) 一個類隱藏了內(nèi)部子系統(tǒng)的復(fù)雜度,只暴露出一些簡單的接口。
Flyweight(享元模式) 一個細(xì)粒度對象,用于將包含在其它地方的信息 在不同對象之間高效地共享。
Proxy(代理模式) 一個充當(dāng)占位符的對象用來代表一個真實(shí)的對象。
Behavioral 基于對象間作用方式來分類。
Class
Interpreter(解釋器) 將語言元素包含在一個應(yīng)用中的一種方式,用于匹配目標(biāo)語言的語法。
Template Method(模板方法) 在一個方法中為某個算法建立一層外殼,將算法的具體步驟交付給子類去做。
Object
Chain of Responsibility(響應(yīng)鏈) 一種將請求在一串對象中傳遞的方式,尋找可以處理這個請求的對象。
Command(命令) 封裝命令請求為一個對象,從而使記錄日志,隊(duì)列緩存請求,未處理請求進(jìn)行錯誤處理 這些功能稱為可能。
Iterator(迭代器) 在不需要直到集合內(nèi)部工作原理的情況下,順序訪問一個集合里面的元素。
Mediator(中介者模式) 在類之間定義簡化的通信方式,用于避免類之間顯式的持有彼此的引用。
Observer(觀察者模式) 用于將變化通知給多個類的方式,可以保證類之間的一致性。
State(狀態(tài)) 當(dāng)對象狀態(tài)改變時,改變對象的行為。
Strategy(策略) 將算法封裝到類中,將選擇和實(shí)現(xiàn)分離開來。
Visitor(訪問者) 為類增加新的操作而不改變類本身。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號