溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mvc框架有什么用

發(fā)布時(shí)間:2021-01-05 09:52:58 來(lái)源:億速云 閱讀:136 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家分享的是有關(guān)mvc框架有什么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

mvc框架一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)組件里,在改進(jìn)和個(gè)性化定制界面的及用戶交互的時(shí)候,不需要重新編寫業(yè)務(wù)邏輯。

1、什么是mvc

Model View Controller,是模型-視圖-控制器的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)組件里,在改進(jìn)和個(gè)性化定制界面的及用戶交互的時(shí)候,不需要重新編寫業(yè)務(wù)邏輯。mvc用于映射傳統(tǒng)的輸入、處理、輸出功能在一個(gè)邏輯的圖形用戶界面的結(jié)構(gòu)中。

  • mvc就是類似三層的一種架構(gòu),主要采用封裝(分層)的思想,來(lái)降低耦合度,從而使我們的系統(tǒng)更靈活,擴(kuò)展性更好。

  • model是應(yīng)用程序中用于處理數(shù)據(jù)邏輯的部分。通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。

  • view是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)數(shù)據(jù)模型創(chuàng)建的。

  • controller是應(yīng)用程序中處理數(shù)據(jù)交互的部分。通??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送。

2、mvc的優(yōu)點(diǎn)

(1)多個(gè)視圖共享一個(gè)模型,大大提高代碼的可重用性。

(2)三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩,所以依據(jù)這種設(shè)計(jì)模式能構(gòu)建良好的松耦合性的組件。

(3)控制器提高了應(yīng)用程序的靈活性和可控制性??刂破骺梢杂脕?lái)連接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提高強(qiáng)有力的手段。

3、mvc的缺點(diǎn)

(1)增加了系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性。

對(duì)于簡(jiǎn)單頁(yè)面,嚴(yán)格遵循mvc,使模型、視圖與控制器分離,會(huì)增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過(guò)多的更新操作,降低運(yùn)行效率。

(2)視圖與控制器過(guò)于緊密的連接。

視圖與控制器是相互分離,但確實(shí)聯(lián)系緊密的部件,視圖沒(méi)有控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨(dú)立重用。

(3)視圖對(duì)模型數(shù)據(jù)的低效率訪問(wèn)。

依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)。對(duì)未變化數(shù)據(jù)的不必要的頻繁訪問(wèn),也將損害操作性能。

(4)目前,一些高級(jí)的界面工具或構(gòu)造器不支持mvc。

改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價(jià)是很高的,從而造成使用MVC的困難。

綜上,對(duì)于開(kāi)發(fā)存在大量用戶界面,并且業(yè)務(wù)邏輯復(fù)雜的大型應(yīng)用程序,MVC將會(huì)使你的軟件在健壯性、代碼重用和結(jié)構(gòu)方面上一個(gè)新的臺(tái)階。盡管在最初構(gòu)建MVC框架時(shí)會(huì)花費(fèi)一定的工作量,但從長(zhǎng)遠(yuǎn)角度看,它會(huì)大大提高后期軟件開(kāi)發(fā)的效率。所以我們?cè)诰唧w適用時(shí),要綜合考慮其適用范圍,

4、框架vs設(shè)計(jì)模式

(1)框架通常是代碼重用,而設(shè)計(jì)模式是設(shè)計(jì)重用,

  架構(gòu)則介于兩者之間,部分代碼重用,部分設(shè)計(jì)重用,有時(shí)分析也可重用。

  在軟件生產(chǎn)中有三種級(jí)別的重用:

  內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;

  代碼重用,即將通用模塊組合成庫(kù)或工具集,以便在多個(gè)應(yīng)用和領(lǐng)域都能使用;

  應(yīng)用框架的重用,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),以獲得最高級(jí)別的重用性。

(2)設(shè)計(jì)模式是對(duì)在某種環(huán)境中反復(fù)出現(xiàn)的問(wèn)題以及解決該問(wèn)題的方案的描述,它比框架更抽象。

  框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對(duì)模式而言只有實(shí)例才能用代碼表示 。

  設(shè)計(jì)模式是比框架更小的元素。一個(gè)框架中往往含有一個(gè)或多個(gè)設(shè)計(jì)模式,框架總是針對(duì)某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種應(yīng)用。

  可以說(shuō),框架是軟件,而設(shè)計(jì)模式是軟件的知識(shí)。

(3)簡(jiǎn)而言之:框架是大智慧,用來(lái)對(duì)軟件設(shè)計(jì)進(jìn)行分工; 設(shè)計(jì)模式是小技巧,對(duì)具體問(wèn)題提出解決方案,以提高代碼復(fù)用率,降低耦合度。

感謝各位的閱讀!關(guān)于“mvc框架有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI