李展飛
摘 要
隨著網(wǎng)絡(luò)信息大爆炸時(shí)代的到來,人們獲取信息的方式不在僅僅局限于傳統(tǒng)的紙媒等渠道,轉(zhuǎn)而更加喜歡利用網(wǎng)絡(luò)科技進(jìn)行信息的傳播,獲取更多實(shí)時(shí)資訊的首要平臺。因此,利用Web平臺B/S構(gòu)架所開發(fā)的信息系統(tǒng)越來越流行,在實(shí)際的生活中應(yīng)用也越來越廣泛。目前,主流的Web應(yīng)用開發(fā)模式可以分為傳統(tǒng)結(jié)構(gòu)化的扁平式開發(fā)模式和基于MVC模式的分層式開發(fā)模式。MVC的分層式開發(fā)模式從邏輯上對系統(tǒng)進(jìn)行層次的劃分,將其中的系統(tǒng)業(yè)務(wù)邏輯劃分出來,而對于那些非業(yè)務(wù)邏輯將會利用通用組件進(jìn)行協(xié)助管理,該種方法有效的克服了傳統(tǒng)模式下業(yè)務(wù)邏輯和數(shù)據(jù)操作混雜的局面,避免了二者所導(dǎo)致的系統(tǒng)難于維護(hù)和拓展的弊端,開發(fā)效率和系統(tǒng)性能得到較為完備的改善。所以,充分的探究基于MVC模式的分層式開發(fā)模式對于Web軟件系統(tǒng)的開發(fā)框架設(shè)計(jì)具有非常重要的意義。
【關(guān)鍵詞】MVC模式 Web 軟件系統(tǒng)開發(fā) 框架設(shè)計(jì)
Web軟件應(yīng)用開發(fā)方式中涵蓋了MVC設(shè)計(jì)模式,從表層價(jià)值上來看,它克服了以前的Web應(yīng)用開發(fā)方式中所帶來的隱患;從所呈現(xiàn)的價(jià)值利益來看,基于MVC模式的Web開發(fā)系統(tǒng)能夠準(zhǔn)確的將業(yè)務(wù)邏輯和顯示邏輯分開,以最大的限度滿足Web應(yīng)用系統(tǒng)的設(shè)計(jì)需求。
1 Web系統(tǒng)的現(xiàn)狀和前景分析
計(jì)算機(jī)研究領(lǐng)域較為熱門的研究方向主要集中在分布式計(jì)算領(lǐng)域,Web系統(tǒng)從開發(fā)出現(xiàn)以來,就以成本低、推廣易、靈活性高為優(yōu)勢,在計(jì)算機(jī)領(lǐng)域得到了迅速的發(fā)展。當(dāng)前,Web系統(tǒng)已經(jīng)成功的應(yīng)用與社會生活中的方方面面,這也成功的推動了IT浪潮的發(fā)展,在看到IT技術(shù)企業(yè)所展現(xiàn)的巨大經(jīng)濟(jì)利潤之后,對于Web系統(tǒng)的開發(fā)更為迫切。到目前為止,包括公共事業(yè)、醫(yī)療衛(wèi)生事業(yè)、運(yùn)輸行業(yè)等等在內(nèi)的社會各行各業(yè)都在品嘗著Web系統(tǒng)給我們帶來的強(qiáng)大的便捷和高效。人們的生活當(dāng)中,Web的功能的強(qiáng)大使越來越多的人認(rèn)識到了科學(xué)的力量。
2 MVC設(shè)計(jì)模式探討
從功能上來說;MVC就是將一個(gè)應(yīng)用的程序的輸入、處理和輸出按照Model、View和Controller這一種有效的方式進(jìn)行分開,然后再把這一應(yīng)用分成模型、視圖和控制器三個(gè)部分,其實(shí)也就是指一種能夠劃分系統(tǒng)功能的方法。在MVC在這種設(shè)計(jì)模式下能夠真正的實(shí)現(xiàn)數(shù)據(jù)層和表示層的分離,而更適用于應(yīng)用軟件開發(fā)和用戶圖形界面的設(shè)計(jì)所以它能夠解決一些同樣數(shù)據(jù)能夠提供多個(gè)視圖的應(yīng)用程序。在這種設(shè)計(jì)模式中,它最基本的結(jié)構(gòu)是模型、視圖和控制器。有名的用戶界面設(shè)計(jì)的框架則是Model-View-Controller (模型-視圖-控制器)的英文縮略詞,由Smalltalk Language 語言發(fā)展提出來的。
一般而言,開發(fā)人員和維護(hù)人員很難對程序間錯(cuò)綜復(fù)雜的關(guān)系進(jìn)行正確的處理,所以,使用MVC設(shè)計(jì)模式設(shè)計(jì)程序整體框架的時(shí)候,能夠在設(shè)計(jì)階段就杜絕該類事件的發(fā)生。在MVC設(shè)計(jì)模式中業(yè)務(wù)邏輯以及數(shù)據(jù)描述與用戶的交互作為主體是通過在充分減弱數(shù)據(jù)訪問來一起解決的。但時(shí)從初始來講,MVC設(shè)計(jì)模式將應(yīng)用分為以下三個(gè)模:
2.1 視圖層
能夠運(yùn)用多種視圖技術(shù)實(shí)現(xiàn)視圖展示,則說明視圖層是一個(gè)交互界面,其中用的比較多的是velocity技術(shù)、JSP技術(shù)等等,可以簡單的將視圖層理解為HTML界面。由于目前對于視圖需求的不斷提高,為了加強(qiáng)視圖效果,Web應(yīng)用系統(tǒng)應(yīng)用了多種表現(xiàn)層技術(shù)。MVC設(shè)計(jì)模式中的視圖層更主要的是強(qiáng)調(diào)用戶的需求,在多種的表現(xiàn)層技術(shù)上都使用模型層進(jìn)行完成。
2.2 模型層
通過封裝系統(tǒng)所提供的的業(yè)務(wù)邏輯,模型層接受視圖層中用戶的數(shù)據(jù)請求后,然后根據(jù)用戶通過用戶端所提供的的參數(shù)和地址,在按照已經(jīng)設(shè)計(jì)好的業(yè)務(wù)規(guī)則進(jìn)行處理,最終將處理好的結(jié)果回送到視圖層。在MVC這種設(shè)計(jì)模式下,中心環(huán)節(jié)基于模型層中具體業(yè)務(wù)流程的實(shí)現(xiàn),模型層是在MVC所包含的三個(gè)組件之中處理任務(wù)最多的一個(gè),工作負(fù)荷越強(qiáng),所以一般將模型層視為MVC設(shè)計(jì)構(gòu)架中的核心層。
2.3 控制器
系統(tǒng)控制器即為任務(wù)分發(fā)器,從視圖層接收用戶請求數(shù)據(jù)開始,控制器將全部數(shù)據(jù)控制起來,在由控制器決定將哪項(xiàng)請求分派給哪些模型去,業(yè)務(wù)模型處理后,返回控制器,控制器再決定下一步操作或者轉(zhuǎn)給另一個(gè)模型。
3 Web軟件系統(tǒng)中MVC模式的框架設(shè)計(jì)和實(shí)現(xiàn)
目前,基于Web的分散式系統(tǒng)有很多,例如:B2B電子商務(wù)信息處理系統(tǒng),采用的就是MVC設(shè)計(jì)模式的整體構(gòu)架。通過分析可以把應(yīng)用對象分為三種,第一種是包含商業(yè)數(shù)據(jù)和規(guī)則的對象,第二種是負(fù)責(zé)顯示的對象,第三種是通過負(fù)責(zé)接收數(shù)據(jù)請求,然后控制商業(yè)對象完成請求。表示模型的Model相對比較穩(wěn)定,表示控制的Controller最為穩(wěn)定,而表示顯現(xiàn)的視圖對象View則經(jīng)常變化,是由于這些應(yīng)用經(jīng)常的彼此交換,可以將網(wǎng)頁中的風(fēng)格和色調(diào)、顯示的內(nèi)容和方式一一變現(xiàn)出來。View視圖通常對象為美工是在開發(fā)Web應(yīng)用的時(shí)候。HTML 和 Java Server Page(JSP)主要是有設(shè)計(jì)人員或者是系統(tǒng)管理人員負(fù)責(zé)開發(fā)管理,在 Web層,View視圖作為一個(gè)系統(tǒng)的顯示裝置,Servlet或JSP動態(tài)所生成HTML在Web層或者是用戶端控制層完全顯示邏輯[3]。
4 總結(jié)
互聯(lián)網(wǎng)技術(shù)的開發(fā)和研究,Web項(xiàng)目得到不斷的推廣,開發(fā)項(xiàng)目技術(shù)需求的不斷提高,給程序師無形間增加了巨大的壓力。MVC設(shè)計(jì)模式的應(yīng)用在很大程度上減小了不同程序間的差異性,將錯(cuò)亂復(fù)雜的程序設(shè)計(jì)變得更容易,改善程序的理解性的同時(shí)增強(qiáng)程序的可維護(hù)性,彌補(bǔ)目前程序開發(fā)技術(shù)的不足,給互聯(lián)網(wǎng)絡(luò)注入新的生機(jī)和活力。
參考文獻(xiàn)
[1]劉欣.基于MVC模式的Web軟件系統(tǒng)開發(fā)框架設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2013.
[2]李霞.MVC設(shè)計(jì)模式的原理與實(shí)現(xiàn)[D].長春:吉林大學(xué),2014.
[3]陳業(yè)恩.基于MVC模式的Web軟件系統(tǒng)開發(fā)框架設(shè)計(jì)與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2015(06):37-37.