您好,登錄后才能下訂單哦!
這篇文章主要講解了“什么是mvc模式”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“什么是mvc模式”吧!
分析:
Model 模型(完成業(yè)務(wù)邏輯:由javaBean構(gòu)成,在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和javabean這樣的構(gòu)件對象來處理數(shù)據(jù)庫。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。)
View 視圖(就是負(fù)責(zé)跟用戶交互的界面。一般就是由HTML,css元素組成的界面,當(dāng)然現(xiàn)在還有一些像js,ajax,flex一些也都屬于視圖層。 在視圖層里沒有真正的處理發(fā)生,之負(fù)責(zé)數(shù)據(jù)輸出,并允許用戶操縱的方式。MVC能為應(yīng)用程序處理很多不同的視圖。 )
Controller 控制器(接收請求—>調(diào)用模型—>根據(jù)結(jié)果派發(fā)頁面并經(jīng)過模型處理返回相應(yīng)數(shù)據(jù) )
--------------------------------------------------------------------------
優(yōu)點(diǎn):
1、分工明確(開發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層):使用MVC可以把數(shù)據(jù)庫開發(fā),程序業(yè)務(wù)邏輯開發(fā),頁面開發(fā)分開,每一層都具有相同的特征,方便以后的代碼維護(hù)。
它使程序員(Java開發(fā)人員)集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開發(fā)人員)集中精力于表現(xiàn)形式上。
2、松耦合(可以降低層與層之間的依賴):視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。
因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。
3、復(fù)用性高(利于各層邏輯的復(fù)用):像多個(gè)視圖能夠共享一個(gè)模型,不論你視圖層是用flash界面或是wap界面,用一個(gè)模型就能處理他們。將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開,就可以最大化從用代碼。、
3、有利于標(biāo)準(zhǔn)化(有利于通過工程化、工具化產(chǎn)生管理程序代碼);
概括來說,分層式設(shè)計(jì)可以達(dá)至如下目的:分散關(guān)注、松散耦合、邏輯復(fù)用、標(biāo)準(zhǔn)定義。
缺點(diǎn):
分層式結(jié)構(gòu)也不可避免具有一些缺陷:
1、有時(shí)會導(dǎo)致級聯(lián)的修改。這種修改尤其體現(xiàn)在自上而下的方向。如果在表示層中需要增加一個(gè)功能,為保證其設(shè)計(jì)符合分層式結(jié)構(gòu),可能需要在相應(yīng)的業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層中都增加相應(yīng)的代碼。
2、降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結(jié)構(gòu),很多業(yè)務(wù)可以直接造訪數(shù)據(jù)庫,以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過中間層來完成。
3、由于它沒有明確的定義,所以完全理解MVC并不是很容易。使用MVC需要精心的計(jì)劃,由于它的內(nèi)部原理比較復(fù)雜,所以需要花費(fèi)一些時(shí)間去思考。
4、MVC并不適合小型甚至中等規(guī)模的應(yīng)用程序,花費(fèi)大量時(shí)間將MVC應(yīng)用到規(guī)模并不是很大的應(yīng)用程序通常會得不償失。
*如何改善:
第一個(gè)缺點(diǎn),可以采用一些設(shè)計(jì)模式來到改善。
第二個(gè)缺點(diǎn),可以通過系統(tǒng)的緩存機(jī)制來減小對性能的影響。
感謝各位的閱讀,以上就是“什么是mvc模式”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對什么是mvc模式這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。