涂愛云 雷先龍 江西經(jīng)濟(jì)管理干部學(xué)院
(1)在mvc未出現(xiàn)之前,舊的系統(tǒng)經(jīng)常出現(xiàn)意外發(fā)現(xiàn)事故。老版的計(jì)算機(jī)系統(tǒng)開發(fā)的模式是將控制層和模型層一起與視圖層進(jìn)行結(jié)合,這樣會(huì)讓這三層之間的重合性相對(duì)會(huì)偏高較,而且設(shè)以后對(duì)系統(tǒng)檢查更加的難,而且也會(huì)使給系統(tǒng)進(jìn)行進(jìn)一步拓展更加的困難,所以才會(huì)出新的系統(tǒng)。而現(xiàn)如今有了mvc設(shè)計(jì)模式,更使得這些大難題的問題變得更容易的解決。MVC設(shè)計(jì)模式是現(xiàn)如今社會(huì)上使用的最多最普遍的軟件系統(tǒng)之一,是把以前的系統(tǒng)所不能做的的重合分辨改進(jìn),讓三個(gè)基本的模塊更容易的分解,從而降低它面之間的重合率,讓計(jì)算機(jī)在開發(fā)上可以在最大的程度上的減少其開發(fā)人員的時(shí)間,來使得其開發(fā)人員的精力偷到更重要的事情上面,這樣讓其效率提高了,也可以讓程序員集中精力在頁面的表現(xiàn)形式上,這樣不僅減少了項(xiàng)目開發(fā)的成本,還大大的提高了項(xiàng)目開發(fā)的效率,增強(qiáng)了Web應(yīng)用系統(tǒng)的維護(hù)性和延展性。
(2)MVC是依據(jù)Model-View-Concroler的方式將一個(gè)計(jì)算機(jī)系統(tǒng)的輸入、處理、輸出互相分開,并將它分解成模型、視覺、操作著三部分互相分開。
1.視覺層主要實(shí)現(xiàn)是系統(tǒng)與客戶之間互相交流,它可以在一方面的輸入其客戶的相關(guān)數(shù)據(jù)來進(jìn)行處理,另一方面也可以為客戶從其數(shù)據(jù)庫中去除對(duì)客戶有用的資料,但是其缺點(diǎn)是他不處理與他本身不相干的事務(wù),因此它不能實(shí)現(xiàn)這一功能,但是他可看起圖形來看他處在是什么狀態(tài),通過其中的種種命令來進(jìn)行修改與變更,來得出與之相對(duì)應(yīng)的模型。
2.模型層的主要功能就是給業(yè)務(wù)的規(guī)則來進(jìn)一步制定完整,也給其業(yè)務(wù)狀態(tài)來進(jìn)一步的處理,讓它們可以更好的被我們知道。視覺層和操作層并不知道其業(yè)務(wù)方法的一般流程,也不知道該怎么處理其業(yè)務(wù),它只是從視覺層方面來接收其數(shù)據(jù),然后向視覺層來發(fā)送最終的處理結(jié)果。MVC設(shè)計(jì)模型中最主要的就是事務(wù)模型的設(shè)計(jì)。事務(wù)模型其中有個(gè)非常重要的模型就是數(shù)據(jù)模型,就是給事務(wù)中的一些重要數(shù)據(jù)來進(jìn)行保存模型。
3.操作層的主要功能是把模型層與視覺層結(jié)合在一起,共同處理來自用戶發(fā)送的請(qǐng)求。我們能很明顯的知道操作層的功能,它其實(shí)就是一個(gè)分發(fā)器,它可以對(duì)視圖、模型進(jìn)行選擇,可以對(duì)用戶的請(qǐng)求進(jìn)行選擇。例如,用戶向系統(tǒng)發(fā)送一個(gè)請(qǐng)求后,操作層收到這個(gè)請(qǐng)求,系統(tǒng)不會(huì)對(duì)其客戶請(qǐng)求的任務(wù)內(nèi)容來處理,他只把它客戶的請(qǐng)求任務(wù)發(fā)模型層,并且向其用戶發(fā)送其用戶所需要的視圖。所以,模型和視圖并不是一一對(duì)應(yīng)的,一個(gè)視圖可以和多個(gè)模型進(jìn)行對(duì)應(yīng),一個(gè)模型也可以和多個(gè)視圖對(duì)應(yīng)。
(3)以前計(jì)算機(jī)中的所有優(yōu)點(diǎn)在現(xiàn)在的系統(tǒng)都存在,并且更加完善好用。一個(gè)mvc可對(duì)好幾個(gè)視圖模型。所以在MVC模式中,如果mvc模型發(fā)生變化,那么起變化的和傳播可以讓模型所對(duì)應(yīng)的多個(gè)視圖和控制器進(jìn)行同步相應(yīng)的變化??梢詫⑵湟曈X圖和操作層中的對(duì)象互相調(diào)換,可以依據(jù)需要對(duì)視圖和控制器對(duì)象進(jìn)行打開和關(guān)閉,也可以在視圖或者控制器正在操作期間對(duì)其進(jìn)行替換。mvc模型能在一個(gè)平臺(tái)移到另一個(gè)平臺(tái)上,可以進(jìn)行多次的,重復(fù)的利用。雖然視圖和控制器并不獨(dú)立于平臺(tái),但是mvc模型是獨(dú)立于平臺(tái)的,所以能將新模型移植到新的平臺(tái),在移植到新的軟件平臺(tái)上可以對(duì)其視圖和操作層進(jìn)行一定的修改就能在次的使用。 MVC是一個(gè)通用的軟件平臺(tái),是一種有著三部分的系統(tǒng)組成的設(shè)計(jì)結(jié)構(gòu),他對(duì)大多數(shù)的客戶都能適用,所以能夠根據(jù)這種新的模式來給大多數(shù)的客戶來裝這種系統(tǒng)。mvc它可以用來設(shè)計(jì)軟件視圖也可以用于設(shè)計(jì)軟件的整個(gè)布局和軟件系統(tǒng)中的每個(gè)元素.以便于計(jì)算機(jī)系統(tǒng)程序的拓展與維護(hù)。因?yàn)閙vc是將計(jì)算機(jī)應(yīng)用分離成了三層,是這三層的重合性大大降低,所以計(jì)算機(jī)應(yīng)用如果想發(fā)生改變的話就只需要改變?nèi)龑又械囊粚蛹纯?。例如說,計(jì)算機(jī)應(yīng)用中要改變客戶的數(shù)據(jù)和信息,只需要在需要改的地方相應(yīng)的該一下即可,就可以產(chǎn)生相應(yīng)的效果。
(4) MVC的優(yōu)點(diǎn):
第一點(diǎn),可以一個(gè)mvc的模型能夠讓多個(gè)視覺圖使用?,F(xiàn)如今,同一個(gè)計(jì)算機(jī)應(yīng)用程序會(huì)提供很多種客戶的界面。例如,客戶希望既能夠通過瀏覽器來收發(fā)電子郵件,還能在手機(jī)上來訪問電子郵箱。這就要求計(jì)算機(jī)網(wǎng)站同時(shí)能提供Internet界面和WAP界面。在mvc設(shè)計(jì)模式中,mvc模型在響應(yīng)客戶的請(qǐng)求來返回響應(yīng)其數(shù)據(jù)。視覺圖將數(shù)據(jù)格式化來將她呈現(xiàn)給湖,來給表示層分離來,使業(yè)務(wù)的邏輯,讓他可以在同一個(gè)模型被不同的視覺圖重復(fù)利用。
第二點(diǎn):操作層是自包含 (self-contained)指高獨(dú)立內(nèi)聚的對(duì)象,是和 mvc模型與視覺圖保持相對(duì)獨(dú)立,因此能夠更方便的來改變其計(jì)算機(jī)應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。并且一旦正確地實(shí)現(xiàn)了控制器,不管其數(shù)據(jù)來自數(shù)據(jù)庫還是LDAP服務(wù)器,視覺圖都會(huì)正確地顯示它們。由于mvc模式的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩個(gè),所以根據(jù)這種模型設(shè)計(jì)的思想能構(gòu)造良好的少互擾性的構(gòu)件。還有操作器大大的提高了計(jì)算機(jī)應(yīng)用程序的靈活性和可配置性。操作器可以與更多的不同的的mvc模型和視覺圖來給客戶完成不同的要求。也可以讓計(jì)算機(jī)應(yīng)用程序提供更加強(qiáng)有力的方法。給定一些可重用的模型和視覺圖,操作器可以根據(jù)客戶的要求來制定相應(yīng)的方法來進(jìn)行處理,然后選擇適當(dāng)?shù)囊曈X圖將處理結(jié)果顯示給用戶,讓客戶更好的解決其問題。
(5)MVC的缺點(diǎn):
1.Mvc大大增加了系統(tǒng)的多樣性和難以實(shí)現(xiàn)的復(fù)雜性。對(duì)于簡(jiǎn)單的一些命,要嚴(yán)格的按照mvc來操作的話,想使模型、視覺與操作層分離,會(huì)大大的增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生一定的復(fù)雜操作,從而降低其計(jì)算機(jī)的運(yùn)行效率。
2.視覺與操作層這種過于緊密的連接。而視覺與操作層是互相分離,但必須要緊密的部件沒有來連接,忽視其操作的存在,因此其應(yīng)用是非常有限的。反之亦然,所以就妨礙了他們的獨(dú)立重用。
3.視覺圖對(duì)mvc模型數(shù)據(jù)的低效訪問。根據(jù)其模型的操作方法不同的條件下,視覺圖要多次的調(diào)用才可獲得其數(shù)據(jù),因?yàn)閷?duì)很多不必要的數(shù)據(jù)頻頻的訪問,也會(huì)是操作性能降低。
4.而且有些計(jì)算機(jī)與界面不能支持mvc的模式,如果要改造它的話代價(jià)很高,所以就造成了使用它的困難性。
(6)所以想要一個(gè)構(gòu)成一個(gè)新的成功的軟件只有良好的技術(shù)和良好的模式才可以。mvc設(shè)計(jì)模式是一種優(yōu)良的框架模式,他擁有不一般的優(yōu)點(diǎn),他將模型層、視覺層和操作層相分離,很大程度上減少了各個(gè)層之間的重合程度,使他們之間的依賴性減少,增加了計(jì)算機(jī)應(yīng)用系統(tǒng)的拓展性和維護(hù)性。
[1]李軍軍,傅宏,張麗,姜祖新.基于MVC模式的Web框架設(shè)計(jì)關(guān)鍵技術(shù)研究[J] 電腦知識(shí)與技術(shù). 2011(10) :67
[2]馮玉萍.基于MVC的設(shè)計(jì)與開發(fā)[J].
[3]科技風(fēng).2010(05):25
[4]張倩倩,許春林,朱莉莉.基于MVC架構(gòu)的鎮(zhèn)江優(yōu)活網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù). 2013(32) :274
[5]呂健,耿祥義.基于MVC模式的Web應(yīng)用框架研究[J].計(jì)算機(jī)與信息技術(shù). 2010(Z2):