現(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)改變時(shí),改變對象的行為。 |
| Strategy(策略) | 將算法封裝到類中,將選擇和實(shí)現(xiàn)分離開來。 |
| Visitor(訪問者) | 為類增加新的操作而不改變類本身。 |