web開(kāi)發(fā)中常用的四種設(shè)計(jì)模式
時(shí)間:2023-10-02 23:30:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-10-02 23:30:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
web開(kāi)發(fā)中常用的四種設(shè)計(jì)模式:在許多初創(chuàng)公司和其他小型公司中往往需要從頭開(kāi)始一個(gè)項(xiàng)目。在開(kāi)發(fā)過(guò)程中有太多的編程語(yǔ)言,體系結(jié)構(gòu)等問(wèn)題需要抉擇,而這些問(wèn)題往往需要設(shè)計(jì)模式來(lái)解決。
設(shè)計(jì)模式就像您的項(xiàng)目的模板。它使用某些約定,您可以從中期望一種特定的行為。這些模式由許多開(kāi)發(fā)人員的經(jīng)驗(yàn)組成,因此它們實(shí)際上就像是不同的最佳實(shí)踐集。您和您的團(tuán)隊(duì)可以決定哪種最佳實(shí)踐對(duì)您的項(xiàng)目最有用。根據(jù)您選擇的設(shè)計(jì)模式,所有人知道該怎么進(jìn)行代碼的開(kāi)發(fā)。
《設(shè)計(jì)模式-可重用的面向?qū)ο筌浖脑亍芬粫?shū)中有23種官方模式。在web開(kāi)發(fā)中,小編認(rèn)為有四種最重要且常見(jiàn)的設(shè)計(jì)模式。
單例設(shè)計(jì)模式它僅允許類僅僅具有單個(gè)實(shí)例,并且使用全局變量存儲(chǔ)該實(shí)例。您將使用延遲加載來(lái)確保該類只有一個(gè)實(shí)例,因?yàn)樗粫?huì)在需要時(shí)創(chuàng)建該類。這樣可以防止創(chuàng)建多個(gè)實(shí)例。大多數(shù)情況下,這是在構(gòu)造函數(shù)中實(shí)現(xiàn)的。
數(shù)據(jù)庫(kù)連接有時(shí)候我們使用的就是單例模式,通過(guò)創(chuàng)建連接數(shù)據(jù)庫(kù)的單例模式,可以有效避免我們生成過(guò)多的數(shù)據(jù)庫(kù)連接對(duì)象,避免了數(shù)據(jù)庫(kù)連接開(kāi)銷。
策略設(shè)計(jì)模式策略設(shè)計(jì)模式,就像if else語(yǔ)句的高級(jí)版本。基本上,您可以在其中為基類中的方法創(chuàng)建接口。然后,使用此接口從派生類中找到該方法的正確實(shí)現(xiàn)。
一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改。這種類型的設(shè)計(jì)模式屬于行為型模式。
在策略模式中,我們創(chuàng)建表示各種策略的對(duì)象和一個(gè)行為隨著策略對(duì)象改變而改變的 context 對(duì)象。策略對(duì)象改變 context 對(duì)象的執(zhí)行算法。
觀察者設(shè)計(jì)模式如果您曾經(jīng)使用過(guò)MVC模式,那么您已經(jīng)使用過(guò)觀察者設(shè)計(jì)模式。觀察者模式就像MVC的View部分。您有一個(gè)包含所有數(shù)據(jù)及其狀態(tài)的主題。然后,您將擁有與用戶一樣的觀察者,他們將在數(shù)據(jù)更新后從主題中提取數(shù)據(jù)。
發(fā)送用戶通知,更新,篩選和處理訂閱者都可以使用觀察者模式來(lái)完成。
裝飾器設(shè)計(jì)模式允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu)。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個(gè)包裝。
這種模式創(chuàng)建了一個(gè)裝飾類,用來(lái)包裝原有的類,并在保持類方法簽名完整性的前提下,提供了額外的功能。
我們通過(guò)下面的實(shí)例來(lái)演示裝飾器模式的用法。其中,我們將把一個(gè)形狀裝飾上不同的顏色,同時(shí)又不改變形狀類。
動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能來(lái)說(shuō),裝飾器模式相比生成子類更為靈活。
設(shè)計(jì)模式(Design Pattern)是前輩們對(duì)代碼開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié),是解決特定問(wèn)題的一系列套路。它不是語(yǔ)法規(guī)定,而是一套用來(lái)提高代碼可復(fù)用性、可維護(hù)性、可讀性、穩(wěn)健性以及安全性的解決方案。
如果你還沒(méi)有聽(tīng)說(shuō)過(guò)設(shè)計(jì)模式,或者在平時(shí)的編寫(xiě)代碼過(guò)程中很少使用策略模式,那么我希望您可以從今以后多留意一下,好的設(shè)計(jì)模式一定是可以提升代碼質(zhì)量的。
關(guān)鍵詞:設(shè)計(jì),模式,中常