常见Gof设计模式(包括5种创建型、7种结构型、11种行为型)
生活随笔
收集整理的這篇文章主要介紹了
常见Gof设计模式(包括5种创建型、7种结构型、11种行为型)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
說(shuō)明:文末可下載案例源碼? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建型(為類實(shí)例化提供指南)
| 原型模式 | 原型模式(Prototype Pattern)是用于創(chuàng)建重復(fù)的對(duì)象,并且與重新new對(duì)象相比較,性能更高。這種模式是實(shí)現(xiàn)了一個(gè)原型接口,該接口用于創(chuàng)建當(dāng)前對(duì)象的克隆。當(dāng)直接創(chuàng)建對(duì)象的代價(jià)比較大時(shí)。[詳情...] |
| 工廠方法 | 工廠方法(FactoryMethod)不在工廠類中進(jìn)行邏輯判斷,程序可以為不同產(chǎn)品類提供不同的工廠,不同的工廠類產(chǎn)不同的產(chǎn)品。當(dāng)使用工廠方法設(shè)計(jì)模式時(shí),對(duì)象調(diào)用者需要與具體的工廠類耦合。[詳情...] |
| 單例模式 | 單例模式(Singleton Pattern)涉及到一個(gè)單一的類,該類負(fù)責(zé)創(chuàng)建自己的對(duì)象,同時(shí)確保只有單個(gè)對(duì)象被創(chuàng)建。這個(gè)類提供了一種訪問(wèn)其唯一的對(duì)象的方式,可以直接訪問(wèn),不需要實(shí)例化該類的對(duì)象。[詳情...] |
| 構(gòu)造器模式 | 構(gòu)造器模式(Builder Pattern)使用多個(gè)簡(jiǎn)單的對(duì)象一步一步構(gòu)建成一個(gè)復(fù)雜的對(duì)象。一個(gè) Builder 類會(huì)一步一步構(gòu)造最終的對(duì)象。該 Builder 類無(wú)需通過(guò)其他對(duì)象完成構(gòu)造,獨(dú)立于其他對(duì)象的。[詳情...] |
| 簡(jiǎn)單工廠模式 | 簡(jiǎn)單工廠模式(SimpleFactory Pattern)中,我們?cè)趧?chuàng)建對(duì)象時(shí)不會(huì)對(duì)客戶端暴露創(chuàng)建邏輯,是由一個(gè)工廠對(duì)象決定創(chuàng)建出哪一種產(chǎn)品類的實(shí)例。它屬于創(chuàng)建型模式,但不屬于23種GOF設(shè)計(jì)模式之一。[詳情...] |
| 抽象工廠模式 | 抽象工廠模式(Abstract Factory Pattern)是圍繞一個(gè)超級(jí)工廠創(chuàng)建其他工廠。該超級(jí)工廠又稱為其他工廠的工廠。在抽象工廠模式中,接口是負(fù)責(zé)創(chuàng)建一個(gè)相關(guān)對(duì)象的工廠,不需要顯式指定它們的類。[詳情...] |
說(shuō)明:文末可下載案例源碼?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?結(jié)構(gòu)型(為類如何設(shè)計(jì)以形成更優(yōu)秀的結(jié)構(gòu)提供指南)
| 代理模式 | 在代理模式(Proxy Pattern)中,一個(gè)類代表另一個(gè)類的功能。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式。在代理模式中,我們創(chuàng)建具有現(xiàn)有對(duì)象的對(duì)象,以便向外界提供功能接口。[詳情...] |
| 橋接模式 | 橋接(Bridge)是用于把抽象化與實(shí)現(xiàn)化解耦,使得二者可以獨(dú)立變化。使得實(shí)體類的功能獨(dú)立于接口實(shí)現(xiàn)類。這兩種類型的類可被結(jié)構(gòu)化改變而互不影響。[詳情...] |
| 外觀模式 | 外觀模式(Facade Pattern)隱藏系統(tǒng)的復(fù)雜性,并向客戶端提供一個(gè)客戶端可以訪問(wèn)系統(tǒng)的接口。它向現(xiàn)有的系統(tǒng)添加一個(gè)接口,來(lái)隱藏系統(tǒng)的復(fù)雜性。[詳情...] |
| 裝飾模式 | 裝飾器模式(Decorator Pattern)允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu)。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個(gè)包裝。[詳情...] |
| 享元模式 | 享元模式(Flyweight Pattern)主要用于減少創(chuàng)建對(duì)象的數(shù)量,以減少內(nèi)存占用和提高性能。享元模式嘗試重用現(xiàn)有的同類對(duì)象,如果未找到匹配的對(duì)象,則創(chuàng)建新對(duì)象。[詳情...] |
| 組合模式 | 組合模式(Composite Pattern),又叫部分整體模式,是用于把一復(fù)合對(duì)象(對(duì)象中引用其他對(duì)象)當(dāng)作一個(gè)單一簡(jiǎn)單的對(duì)象。組合模式依據(jù)樹(shù)形結(jié)構(gòu)來(lái)組合對(duì)象。[詳情...] |
| 適配器模式 | 適配器模式(Adapter Pattern)是作為兩個(gè)不兼容的接口之間的橋梁。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它結(jié)合了兩個(gè)獨(dú)立模塊的功能。這種模式涉及到一個(gè)單一的類,該類負(fù)責(zé)加入獨(dú)立的或不兼容的接口功能。[詳情...] |
說(shuō)明:文末可下載案例源碼?
? ? ? ? ? ? ? ? ? ? ? ?行為型(為類與對(duì)象交互以及之間職責(zé)分配方式提供指南)
| 命令模式 | 命令模式(Command Pattern)是一種數(shù)據(jù)驅(qū)動(dòng)的設(shè)計(jì)模式,它屬于行為型模式。請(qǐng)求以命令的形式包裹在對(duì)象中,并傳給調(diào)用對(duì)象。調(diào)用對(duì)象尋找可以處理該命令的合適的對(duì)象,并把該命令傳給相應(yīng)的對(duì)象,該對(duì)象執(zhí)行命令。[詳情...] |
| 策略模式 | 在策略模式(Strategy Pattern)中,一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改。這種類型的設(shè)計(jì)模式屬于行為型模式。在策略模式中,我們創(chuàng)建表示各種策略的對(duì)象和一個(gè)行為隨著策略對(duì)象改變而改變。[詳情...] |
| 狀態(tài)模式 | 在狀態(tài)模式(State Pattern)中,類的行為是基于它的狀態(tài)改變的。這種類型的設(shè)計(jì)模式屬于行為型模式。在狀態(tài)模式中,我們創(chuàng)建表示各種狀態(tài)的對(duì)象和一個(gè)行為隨著狀態(tài)對(duì)象改變而改變的 context 對(duì)象。[詳情...] |
| 模板模式 | 在模板模式(Template Pattern)中,一個(gè)抽象類公開(kāi)定義了執(zhí)行它的方法的方式/模板。它的子類可以按需要重寫方法實(shí)現(xiàn),但調(diào)用將以抽象類中定義的方式進(jìn)行。這種類型的設(shè)計(jì)模式屬于行為型模式。[詳情...] |
| 中介者模式 | 中介者模式(Mediator Pattern)是用來(lái)降低多個(gè)對(duì)象和類之間的通信復(fù)雜性。這種模式提供了一個(gè)中介類,該類通常處理不同類之間的通信,并支持松耦合,使代碼易于維護(hù)。中介者模式屬于行為型模式。[詳情...] |
| 解釋器模式 | 解釋器模式(Interpreter Pattern)提供了評(píng)估語(yǔ)言的語(yǔ)法或表達(dá)式的方式,它屬于行為型模式。這種模式實(shí)現(xiàn)了一個(gè)表達(dá)式接口,該接口解釋一個(gè)特定的上下文。這種模式被用在 SQL 解析、符號(hào)處理引擎等。[詳情...] |
| 職責(zé)鏈模式 | 責(zé)任鏈模式(Chain of Responsibility Pattern)為請(qǐng)求創(chuàng)建了一個(gè)接收者對(duì)象的鏈。這種模式給予請(qǐng)求的類型,對(duì)請(qǐng)求的發(fā)送者和接收者進(jìn)行解耦。在這種模式中,通常每個(gè)接收者都包含對(duì)另一個(gè)接收者的引用。[詳情...] |
| 訪問(wèn)者模式 | 在訪問(wèn)者模式(Visitor Pattern)中,我們使用了一個(gè)訪問(wèn)者類,它改變了元素類的執(zhí)行算法。通過(guò)這種方式,元素的執(zhí)行算法可以隨著訪問(wèn)者的不同而改變。[詳情...] |
| 迭代器模式 | 迭代器模式(Iterator Pattern)是用于順序訪問(wèn)集合對(duì)象的元素,不需要知道集合對(duì)象的底層表示。[詳情...] |
| 備忘錄模式 | 備忘錄模式(Memento Pattern)保存一個(gè)對(duì)象的某個(gè)狀態(tài)。在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。[詳情...] |
| 觀察者模式 | 當(dāng)對(duì)象間存在一對(duì)多關(guān)系時(shí),則使用觀察者模式(Observer Pattern)。比如,當(dāng)一個(gè)對(duì)象被修改時(shí),則會(huì)自動(dòng)通知它的依賴對(duì)象。觀察者模式屬于行為型模式。[詳情...] |
<<<24種設(shè)計(jì)模式實(shí)現(xiàn)案例源碼下載>>>
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的常见Gof设计模式(包括5种创建型、7种结构型、11种行为型)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux重启mysql一直_LINUX
- 下一篇: GOF设计模式--简单工厂模式