更新時(shí)間:2021-10-18 13:22:00 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1124次
在軟件工程中, 設(shè)計(jì)模式是軟件設(shè)計(jì)中常見問題的通用可重復(fù)解決方案。設(shè)計(jì)模式不是可以直接轉(zhuǎn)換為代碼的完成設(shè)計(jì)。它是關(guān)于如何解決可以在許多不同情況下使用的問題的描述或模板。
設(shè)計(jì)模式可以通過提供經(jīng)過測試的、經(jīng)過驗(yàn)證的開發(fā)范例來加速開發(fā)過程。有效的軟件設(shè)計(jì)需要考慮在實(shí)施后期才會(huì)顯現(xiàn)的問題。重用設(shè)計(jì)模式有助于防止可能導(dǎo)致重大問題的細(xì)微問題,并提高熟悉這些模式的編碼人員和架構(gòu)師的代碼可讀性。
通常,人們只了解如何將某些軟件設(shè)計(jì)技術(shù)應(yīng)用于某些問題。這些技術(shù)難以應(yīng)用于更廣泛的問題。設(shè)計(jì)模式提供通用解決方案,以不需要與特定問題相關(guān)的細(xì)節(jié)的格式記錄。
此外,模式允許開發(fā)人員使用眾所周知的、易于理解的名稱進(jìn)行軟件交互。常見的設(shè)計(jì)模式可以隨著時(shí)間的推移而改進(jìn),使它們比臨時(shí)設(shè)計(jì)更健壯。
這些設(shè)計(jì)模式都是關(guān)于類實(shí)例化的。這種模式可以進(jìn)一步分為類創(chuàng)建模式和對(duì)象創(chuàng)建模式。類創(chuàng)建模式在實(shí)例化過程中有效地使用繼承,而對(duì)象創(chuàng)建模式有效地使用委托來完成工作。
抽象工廠
創(chuàng)建幾個(gè)類家族的實(shí)例
Builder
將對(duì)象構(gòu)造與其表示分離
工廠方法
創(chuàng)建多個(gè)派生類的實(shí)例
對(duì)象池
通過回收不再使用的對(duì)象來避免昂貴的資源獲取和釋放
原型
要復(fù)制或克隆的完全初始化的實(shí)例
Singleton
只能存在一個(gè)實(shí)例的類
這些設(shè)計(jì)模式都是關(guān)于類和對(duì)象組合的。結(jié)構(gòu)類創(chuàng)建模式使用繼承來組合接口。結(jié)構(gòu)對(duì)象模式定義了組合對(duì)象以獲得新功能的方法。
Adapter
匹配不同類的接口
Bridge
將對(duì)象的接口與其實(shí)現(xiàn)分開
復(fù)合
簡單和復(fù)合對(duì)象的樹結(jié)構(gòu)
裝飾器
動(dòng)態(tài)地為對(duì)象添加職責(zé)
Facade
代表整個(gè)子系統(tǒng)的單個(gè)類
Flyweight
用于高效共享的細(xì)粒度實(shí)例
私有類數(shù)據(jù)
限制訪問器/修改器訪問
代理
代表另一個(gè)對(duì)象的對(duì)象
這些設(shè)計(jì)模式都是關(guān)于 Class 的對(duì)象通信。行為模式是那些最特別關(guān)注對(duì)象之間通信的模式。
責(zé)任
鏈 一種在對(duì)象鏈之間傳遞請(qǐng)求的方式
Command 將
一個(gè)命令請(qǐng)求封裝為一個(gè)對(duì)象
解釋器
一種在程序中包含語言元素的方法
迭代器
順序訪問集合的元素
Mediator
定義了類之間的簡化通信
Memento
捕獲并恢復(fù)對(duì)象的內(nèi)部狀態(tài)
Null Object
旨在充當(dāng)對(duì)象的默認(rèn)值
Observer
一種通知更改多個(gè)類的方法
狀態(tài)
當(dāng)對(duì)象的狀態(tài)改變時(shí)改變對(duì)象的行為
策略
將算法封裝在一個(gè)類中
模板方法
將算法的確切步驟推遲到子類
訪問者
為類定義一個(gè)新的操作而不改變
如果您想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的內(nèi)容豐富,從入門到精通,適合初學(xué)者學(xué)習(xí),希望對(duì)大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743