培訓(xùn):web前端、Java、Python、大數(shù)據(jù)、軟件測(cè)試、物聯(lián)網(wǎng)、云計(jì)算、網(wǎng)絡(luò)安全、UI/UE設(shè)計(jì)...
web開發(fā)有幾種設(shè)計(jì)模式類型?web開發(fā)重要且常見的設(shè)計(jì)模式有這些:?jiǎn)卫O(shè)計(jì)模式、策略設(shè)計(jì)模式、觀察者設(shè)計(jì)模式、裝飾器設(shè)計(jì)模式。如,下面還有更詳細(xì)的介紹,一起來了解一下吧。
1、單例設(shè)計(jì)模式
它僅允許類僅僅具有單個(gè)實(shí)例,并且使用全局變量存儲(chǔ)該實(shí)例。您將使用延遲加載來確保該類只有一個(gè)實(shí)例,因?yàn)樗粫?huì)在需要時(shí)創(chuàng)建該類。這樣可以防止創(chuàng)建多個(gè)實(shí)例。大多數(shù)情況下,這是在構(gòu)造函數(shù)中實(shí)現(xiàn)的。
數(shù)據(jù)庫(kù)連接有時(shí)候我們使用的就是單例模式,通過創(chuàng)建連接數(shù)據(jù)庫(kù)的單例模式,可以有效避免我們生成過多的數(shù)據(jù)庫(kù)連接對(duì)象,避免了數(shù)據(jù)庫(kù)連接開銷。
2、策略設(shè)計(jì)模式
策略設(shè)計(jì)模式,就像if else語句的高級(jí)版本?;旧希梢栽谄渲袨榛愔械姆椒▌?chuàng)建接口。然后,使用此接口從派生類中找到該方法的正確實(shí)現(xiàn)。
一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改。這種類型的設(shè)計(jì)模式屬于行為型模式。
在策略模式中,我們創(chuàng)建表示各種策略的對(duì)象和一個(gè)行為隨著策略對(duì)象改變而改變的 context 對(duì)象。策略對(duì)象改變 context 對(duì)象的執(zhí)行算法。
3、觀察者設(shè)計(jì)模式
如果您曾經(jīng)使用過MVC模式,那么您已經(jīng)使用過觀察者設(shè)計(jì)模式。觀察者模式就像MVC的View部分。您有一個(gè)包含所有數(shù)據(jù)及其狀態(tài)的主題。然后,您將擁有與用戶一樣的觀察者,他們將在數(shù)據(jù)更新后從主題中提取數(shù)據(jù)。
發(fā)送用戶通知,更新,篩選和處理訂閱者都可以使用觀察者模式來完成。
4、裝飾器設(shè)計(jì)模式
允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu)。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個(gè)包裝。
這種模式創(chuàng)建了一個(gè)裝飾類,用來包裝原有的類,并在保持類方法簽名完整性的前提下,提供了額外的功能。
以上就是大連千鋒教育為您提供web開發(fā)有幾種設(shè)計(jì)模式類型的全部?jī)?nèi)容,更多內(nèi)容請(qǐng)進(jìn)入咨詢問答 查看