劉育旺
隨著國家經(jīng)濟的發(fā)展,計算機技術(shù)日益完善,為更好的滿足人們對互聯(lián)網(wǎng)應(yīng)用的需求,基于.NET MVC框架的Web設(shè)計也在逐漸增多,使得現(xiàn)有Web的層次結(jié)構(gòu)愈加分明,結(jié)構(gòu)更加清晰。本文將從MVC優(yōu)點入手,結(jié)合MVC設(shè)計思想,重點研究基于.NET MVC框架的Web設(shè)計。
【關(guān)鍵詞】.NET MVC框架 Web 設(shè)計
在基于.NET MVC框架的Web出現(xiàn)以前,Web中的主要技術(shù)是ASP、JSP等技術(shù),這些技術(shù)的應(yīng)用很容易將業(yè)務(wù)邏輯與頁面顯示混合起來,并不利于分工與協(xié)作。同時由于在業(yè)務(wù)邏輯層中含有SQL語句,如果出現(xiàn)數(shù)據(jù)庫變化等,將直接影響到系統(tǒng)修改,其不利于系統(tǒng)維護。因此,基于.NET MVC框架的Web設(shè)計成為計算機領(lǐng)域研究重點。
1 MVC優(yōu)點
MVC的優(yōu)點主要體現(xiàn)在以下幾點:
1.1 共享性
它主要是利用模型完成數(shù)據(jù)返回的,且可以利用視圖實現(xiàn)數(shù)據(jù)傳達,并實現(xiàn)格式化,然后再將這些信息傳遞到用戶手中,在數(shù)據(jù)分離形式的作用下,也可以有效提升系統(tǒng)代碼的移植性與重用性。
1.2 控制性
這一點主要表現(xiàn)在控制器對業(yè)務(wù)的控制上,它能夠結(jié)合用戶實際情況完成控制,然后從模型層中獲得必要的信息,再將這些信息傳遞到視圖層中,并讓這些數(shù)據(jù)顯現(xiàn)出來,這樣也可以有效提升應(yīng)用程序的可配置性與靈活性。
2 MVC設(shè)計思想
MVC主要由三部分構(gòu)成,分別為模型層、視圖層以及控制器層。為做好NVC設(shè)計,就需要充分了解這三個層次:
2.1 視圖層
它所代表的是同網(wǎng)頁用戶的應(yīng)用界面,也就是Web中的HTML頁面。一般來講,視圖層主要是將系統(tǒng)中的數(shù)據(jù)呈現(xiàn)出來,且為用戶提供有利于交互的界面,這樣一來也就減少了地其他業(yè)務(wù)的處理。在實際利用的過程中,視圖通常需要提交數(shù)據(jù)用戶以后再接受其他數(shù)據(jù),然后再將這些數(shù)據(jù)以用戶需求的方式體現(xiàn)出來,同時,用戶也會利用視圖層將自己的請求傳送到模型中。
2.2 模型層
它是MVC框架中最重要的組成部分,是實現(xiàn)系統(tǒng)邏輯處理的重要組成部分。在模型接收來自視圖層的請求以后,就會自動處理,然后再將處理結(jié)果在控制器的作用下回饋給視圖層。在這一過程中,控制器與視圖層均是通過操作的方式進行工作的。
2.3 控制層
對于控制器來說,其功能是將用戶發(fā)出的請求反映給模型,然后再將模型所給出的結(jié)果反映給用戶,可以說控制層是視圖層與模型之間的中轉(zhuǎn)環(huán)節(jié),是反饋用戶請求的重要力量,但它并不參與數(shù)據(jù)處理工作。
3 基于.NET MVC框架的Web設(shè)計
對于常規(guī)Web應(yīng)用系統(tǒng)來說,主要分為表示層、業(yè)務(wù)層以及數(shù)據(jù)庫層幾個部分,在表示層中,只有視圖與控制器兩部分;在業(yè)務(wù)層中有業(yè)務(wù)邏輯層、實體層、數(shù)據(jù)訪問及其接口層;在數(shù)據(jù)層中僅有數(shù)據(jù)庫。要做好基于.NET MVC框架的Web設(shè)計,應(yīng)從以下幾方面入手:
3.1 表示層
對于.NET MVC框架來說,在ASP.NET的作用下能夠獲得良好且有利于MVC設(shè)計實現(xiàn)的環(huán)境。開發(fā)人員只要利用.aspx頁面中的開發(fā)用戶接口就可以將視圖展示出來,同時也可以將控制器中的功能體現(xiàn)出來。模型主要對應(yīng)的則是業(yè)務(wù)應(yīng)用部分。為做好基于.NET MVC框架的Web設(shè)計,可以在頁面控制器的作用下優(yōu)化MVC,然后在應(yīng)用程序各個頁面的公用方法中編入基類,這樣一來,所有頁面中都存在基類,它們不僅可以將自己原有的內(nèi)容體現(xiàn)出來,還具有其他作用。
3.2 業(yè)務(wù)層
對于業(yè)務(wù)層來說,它是MVC設(shè)計中十分重要的一部分,也是基于.NET MVC框架的Web設(shè)計基礎(chǔ),在這一部分的設(shè)計中應(yīng)從以下幾方面入手:
(1)保證業(yè)務(wù)邏輯與數(shù)據(jù)實體相分離,兩者屬于不同的組成部分,對于業(yè)務(wù)邏輯類來說,主要是利用實體對象完成業(yè)務(wù)規(guī)則與邏輯實現(xiàn)的,而實體層則有自己的實體對象,一般來講只有屬性,不存在方法,所以主要用于數(shù)據(jù)實體展現(xiàn)。
(2)分離數(shù)據(jù)訪問與業(yè)務(wù)。在這一部分中主要涵蓋了數(shù)據(jù)訪問層及其接口層,它的主要作用是讓業(yè)務(wù)邏輯層可以全面的描述業(yè)務(wù)規(guī)則,這樣一來就可以用數(shù)據(jù)訪問層完成實體對象與數(shù)據(jù)庫交互。為做好基于.NET MVC框架的Web設(shè)計,應(yīng)將數(shù)據(jù)訪問接口層加入到訪問層與業(yè)務(wù)邏輯層之間,這樣不僅可以起到工廠模式的作用還能讓數(shù)據(jù)訪問方法構(gòu)成抽象接口,這樣就可以將業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層分離開來,同時也便于配置文件的修改。
(3)為做好基于.NET MVC框架的Web設(shè)計,還要在訪問層中應(yīng)用NHibernate工具,它是以.NET為基礎(chǔ)建立起來的關(guān)系型數(shù)據(jù)庫,屬于對象持久化類庫的一種。在NHibernate中不必編寫SQL語句,它可以將相關(guān)的映射信息保留下來,并存儲到原數(shù)據(jù)中,這樣就可以讓代碼與對象之間存在一定的關(guān)聯(lián)性,并自動生成SQL語句,這樣也可以讓對象存儲到表與字段中。
3.3 模型層
由于模型是應(yīng)用程序的中心,其中涵蓋了很多與應(yīng)用程序相關(guān)的內(nèi)容,所以,在實際設(shè)計中,應(yīng)進一步強化應(yīng)用程序的持久化。對于基于.NET MVC框架的Web設(shè)計來說,可以將LINQ-TO-SQL應(yīng)用其中,原因在于這種設(shè)計方式不僅有利于發(fā)布,還可以將.NET平臺與LINQ機制結(jié)合在一起,這也是有效提升數(shù)據(jù)庫處理能力的有效方式。在設(shè)計中,可以先為應(yīng)用程序創(chuàng)建DAL,但不需要編寫代碼,然后再做進一步細分,并用LINQ完成語句查詢,且從數(shù)據(jù)庫中找出所需的實體對象。在設(shè)計完成以后,LINQ-TO-SQL就可以將不必要的細節(jié)忽略,這樣既能有效提升數(shù)據(jù)庫操作的便利性,也能進一步強化業(yè)務(wù)邏輯開發(fā),更可以加快數(shù)據(jù)應(yīng)用程序開發(fā)速度。
3.4 控制層
由于控制層主要用于用戶請求與輸入處理,然后再將結(jié)果反饋給客戶端,同時完成數(shù)據(jù)集合與處理,并為其呈現(xiàn)合適的視圖,這樣就可以將隱藏其中的視圖代碼消除。為做好設(shè)計首先應(yīng)創(chuàng)建合適的模型,并全面檢查數(shù)據(jù)訪問與執(zhí)行狀態(tài),且提供一定的面向?qū)ο髷?shù)據(jù),這樣就可以讓數(shù)據(jù)與方法結(jié)合在一起,且構(gòu)成一定的視圖。在.NET MVC框架完成以后,也可以更好的完成各個元素之間的協(xié)調(diào)與組織,這也是有效強化程序元素交互的有效方式。為進一步做好應(yīng)用程序測試,還要做好類顯示輸出,以便為用戶輸入奠定基礎(chǔ),盡管編寫程序相對復(fù)雜,但且會因.NET MVC框架的不同,將業(yè)務(wù)邏輯分離開,這樣也可以有效提升單元測試效率。
3.5 視圖層
在基于.NET MVC框架的Web設(shè)計中,視圖層主要用于模型展示,在視圖層的作用下可以將瀏覽器中的HTML頁面展示出來,所以,在實際時可以利用微軟控件實現(xiàn)控制,這樣也可以讓HTML更加簡潔與高效。然后通過.NET MVC提供的相關(guān)說明了解各個控件的作用,這樣就可以順利完成視圖層設(shè)計與開發(fā),相關(guān)開發(fā)也可以有效提升工作效率。在視圖層設(shè)計完成以后,還可以順利完成視圖檢查等,尤其是在編譯階段,可以隨時發(fā)現(xiàn)隱藏在其中的錯誤與缺陷,視圖模板也將變得更加清晰。
3.6 框架特點
之所以要重視基于.NET MVC框架的Web設(shè)計,主要是由于在基于.NET MVC框架的Web設(shè)計中,Web中的三層框架帶有一定的細分性,不僅可以讓結(jié)構(gòu)更加清晰,還能進一步完備相關(guān)功能,進而讓系統(tǒng)變得更具有條理性與便捷性。其次,做好.NET MVC框架設(shè)計,可以讓顯示層與應(yīng)用層相互分離,也可以進一步做好頁面修改,這也是實現(xiàn)單元測試,強化系統(tǒng)靈活性的有效方式。再者,在基于.NET MVC框架的Web設(shè)計實現(xiàn)以后,還可以最大程度的減少依懶性,由于前端頁面過于復(fù)雜,需要共享的代碼也很多,這就需要利用MVC模式完成分離等,這也是有效強化管理,做好修改的有效措施。最后,在基于.NET MVC框架的Web設(shè)計中,不僅可以讓數(shù)據(jù)訪問與業(yè)務(wù)邏輯區(qū)分開來,還可以強化系統(tǒng)的可移植性與持久性,尤其是在工廠模式的作用下,也可以進一步突出依賴倒置原則,且最大程度的減少數(shù)據(jù)訪問層給系統(tǒng)帶來的變化。
4 結(jié)束語
之所以要做好Web設(shè)計,主要是為了更好彌補原有設(shè)計中的不足,為實現(xiàn)這一目標(biāo),基于.NET MVC框架的Web設(shè)計成為重點,在這樣的Web設(shè)計完成以后,不僅有效提升了系統(tǒng)靈活性,還進一步提升了可維護性,同時也有效降低了代碼編寫量與復(fù)雜性,促進了開發(fā)效率早日完成,因此,應(yīng)重視基于.NET MVC框架的Web設(shè)計。
參考文獻
[1]周文紅.基于ASP.NET MVC框架的Web應(yīng)用開發(fā)[J].計算機與現(xiàn)代化,2013(10):197-199.
[2]黃勝根,陳蜀宇.基于ASP.NET MVC框架的干教系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2010(02):190-193.
[3]劉亞鵬,張征,俞婷.基于MVC多層架構(gòu)的Web應(yīng)用框架設(shè)計[J].微計算機信息,2011(07):169-171.
[4]許輝.基于ASP.NET MVC框架的Web設(shè)計[J].計算機光盤軟件與應(yīng)用,2014(16):266-267.
[5]黃東連.基于ASP.NET MVC框架的Web開發(fā)研究[J].河南科技,2015(13):26-27.
[6]肖洋.基于ASP.NET的MVC框架的應(yīng)用開發(fā)模式研究[J].電子技術(shù)與軟件工程,2016(02):63.
[7]滿高媛.MVC設(shè)計模式在ASP.NET框架中的應(yīng)用研究[J].軟件導(dǎo)刊,2016(04):149-151.
作者單位
廣州工商學(xué)院 廣東省廣州市 510850