軟件設(shè)計模式主要有哪幾種
軟件設(shè)計模式主要有哪幾種
1.工廠方法模式:定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法模式分離了對象的創(chuàng)建與使用,符合開閉原則。2.抽象工廠模式:提供一個接口,用于創(chuàng)建相關(guān)或相互依賴的對象,而無需指定它們具體的類。3.單例模式:確保一個類只有一個實例,并提供一個全局訪問點。4.建造者模式:將一個復(fù)雜對象的構(gòu)建與其表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。5.原型模式:通過復(fù)制現(xiàn)有的實例來創(chuàng)建新的對象,實現(xiàn)對象的共享。結(jié)構(gòu)型模式主要關(guān)注類和對象的組合,包括以下七種模式。1.適配器模式:允許不兼容接口的類一起工作,通過適配器進(jìn)行中介。2.裝飾器模式:動態(tài)地給一個對象添加一些額外的職責(zé),而不改變其接口。3.代理模式:為其他對象提供一個代理以控制對這個對象的訪問。
導(dǎo)讀1.工廠方法模式:定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法模式分離了對象的創(chuàng)建與使用,符合開閉原則。2.抽象工廠模式:提供一個接口,用于創(chuàng)建相關(guān)或相互依賴的對象,而無需指定它們具體的類。3.單例模式:確保一個類只有一個實例,并提供一個全局訪問點。4.建造者模式:將一個復(fù)雜對象的構(gòu)建與其表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。5.原型模式:通過復(fù)制現(xiàn)有的實例來創(chuàng)建新的對象,實現(xiàn)對象的共享。結(jié)構(gòu)型模式主要關(guān)注類和對象的組合,包括以下七種模式。1.適配器模式:允許不兼容接口的類一起工作,通過適配器進(jìn)行中介。2.裝飾器模式:動態(tài)地給一個對象添加一些額外的職責(zé),而不改變其接口。3.代理模式:為其他對象提供一個代理以控制對這個對象的訪問。
![](https://img.51dongshi.com/20250105/wz/18494636252.jpg)
軟件設(shè)計模式主要分為創(chuàng)建型、結(jié)構(gòu)型和行為型三種類型,共計23種。創(chuàng)建型模式關(guān)注對象的創(chuàng)建過程,包括以下五種模式:1. 工廠方法模式:定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法模式分離了對象的創(chuàng)建與使用,符合開閉原則。2. 抽象工廠模式:提供一個接口,用于創(chuàng)建相關(guān)或相互依賴的對象,而無需指定它們具體的類。3. 單例模式:確保一個類只有一個實例,并提供一個全局訪問點。4. 建造者模式:將一個復(fù)雜對象的構(gòu)建與其表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。5. 原型模式:通過復(fù)制現(xiàn)有的實例來創(chuàng)建新的對象,實現(xiàn)對象的共享。結(jié)構(gòu)型模式主要關(guān)注類和對象的組合,包括以下七種模式:1. 適配器模式:允許不兼容接口的類一起工作,通過適配器進(jìn)行中介。2. 裝飾器模式:動態(tài)地給一個對象添加一些額外的職責(zé),而不改變其接口。3. 代理模式:為其他對象提供一個代理以控制對這個對象的訪問。4. 外觀模式:為子系統(tǒng)中的一組接口提供一個一致的界面,隱藏子系統(tǒng)的復(fù)雜性。5. 橋接模式:將抽象部分與實現(xiàn)部分分離,使它們可以獨立變化。6. 組合模式:將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次關(guān)系,使得用戶對單個對象和組合對象的使用具有一致性。7. 享元模式:運用共享技術(shù)有效地支持大量細(xì)粒度的對象。行為型模式關(guān)注對象之間的通信,包括以下十一種模式:1. 策略模式:定義一系列算法,將它們封裝起來,并且使它們可以相互替換。2. 模板方法模式:定義一個操作中的算法的骨架,將一些步驟延遲到子類中實現(xiàn)。3. 觀察者模式:定義對象間的一對多依賴關(guān)系,當(dāng)一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。4. 迭代器模式:提供一種方法順序訪問一個聚合對象中各個元素,而又無須暴露該對象的內(nèi)部表示。5. 責(zé)任鏈模式:避免請求發(fā)送者與接收者耦合在一起,讓多個對象都有可能接收請求。6. 命令模式:將一個請求封裝成一個對象,從而使發(fā)出者可以用不同的請求對客戶進(jìn)行參數(shù)化。7. 備忘錄模式:在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。8. 狀態(tài)模式:允許對象在內(nèi)部狀態(tài)發(fā)生改變時改變它的行為。9. 訪問者模式:將數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)操作分離,使各對象不需要顯式地相互引用。10. 中介者模式:用一個中介對象來封裝一系列的對象交互,使各對象不需要顯式地相互引用。11. 解釋器模式:給定一個語言,定義它的文法表示,并定義一個解釋器,這個解釋器使用該標(biāo)識來解釋語言中的句子。軟件設(shè)計模式是對軟件設(shè)計經(jīng)驗的總結(jié),是對軟件設(shè)計中反復(fù)出現(xiàn)的設(shè)計問題的成功解決方案的描述。設(shè)計模式通常包含模式名稱、問題、解決方案以及效果四個基本要素。模式名稱幫助記憶和交流,問題描述了設(shè)計者所面臨的設(shè)計場景,解決方案描述了設(shè)計的細(xì)節(jié),效果描述了設(shè)計方案的優(yōu)勢和劣勢。設(shè)計模式的重要意義在于設(shè)計復(fù)用,可以使設(shè)計者更加方便地借鑒或直接使用已經(jīng)過證實的成功設(shè)計方案,而不必花費時間進(jìn)行重復(fù)設(shè)計。
軟件設(shè)計模式主要有哪幾種
1.工廠方法模式:定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法模式分離了對象的創(chuàng)建與使用,符合開閉原則。2.抽象工廠模式:提供一個接口,用于創(chuàng)建相關(guān)或相互依賴的對象,而無需指定它們具體的類。3.單例模式:確保一個類只有一個實例,并提供一個全局訪問點。4.建造者模式:將一個復(fù)雜對象的構(gòu)建與其表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。5.原型模式:通過復(fù)制現(xiàn)有的實例來創(chuàng)建新的對象,實現(xiàn)對象的共享。結(jié)構(gòu)型模式主要關(guān)注類和對象的組合,包括以下七種模式。1.適配器模式:允許不兼容接口的類一起工作,通過適配器進(jìn)行中介。2.裝飾器模式:動態(tài)地給一個對象添加一些額外的職責(zé),而不改變其接口。3.代理模式:為其他對象提供一個代理以控制對這個對象的訪問。
為你推薦