摘 要 隨著我國社會水平的提升,經(jīng)濟步伐的推進,我國的互聯(lián)網(wǎng)技術也在這個過程中得到了較大程度的發(fā)展。同時,隨著互聯(lián)網(wǎng)技術的快速增長,其對于我國傳統(tǒng)的很多行業(yè)也產(chǎn)生了深遠的影響,使得很多較為傳統(tǒng)的信息以及數(shù)據(jù)等等都被移植到了互聯(lián)網(wǎng)上。而隨著我國互聯(lián)網(wǎng)應用程度的增加、使得對于web的開發(fā)技術也早已成為認了關注的重點。在本文中,將就基于ASP.NET MVC框架的web設計進行一定的分析與探討。
關鍵詞:ASP.NET;MVC框架;Web設計
中圖分類號:TP311.52
ASP.NET是微軟公司所開發(fā)的一種服務器端的編程技術,其通過服務器控件以及web頁面作為中心。當用戶在實際應用的過程中,通過在客戶端將請求提交到服務器中,并由服務器中的腳本代碼對用戶所引發(fā)的不同控件事件以及用戶數(shù)據(jù)等等進行處理。而對于MVC模式而言,其則是近年來應用的較為廣泛的一種web應用模式,其將我們所需求的應用分為不同的模型組件,即視圖、模型以及控制器三種,其中,視圖負責對用戶的應用界面進行顯示、模型用于儲存數(shù)據(jù)、而控制器則負責在視圖以及模型之間對用戶的輸入信息以及得出的數(shù)據(jù)進行傳遞,通過這種方式,則能夠以結構更加清晰的方式在用戶便于應用的同時也更加便于我們的維護[1]。
而通過在ASP.NET中對于MVC模式的應用,則同我們傳統(tǒng)通過web表單所進行的應用存在一定的區(qū)別,其將業(yè)務邏輯、用戶輸入以及用戶所見的界面進行了明顯的分離,從而使很多規(guī)模較大的管理項目自身的復雜性得到了大大的降低,并在這個過程中增強了模型開發(fā)過程中的可測試性,同時,在開發(fā)的過程中,每一組開發(fā)人員也能夠根據(jù)各自的分工而開發(fā)不同的部分,從而大大的提升了開發(fā)的效率以及并行開發(fā)的能力。
1 MVC設計思想
對于MVC來說,其就是根據(jù)用戶操作流程中的輸入、處理以及輸出流程這三大主要環(huán)節(jié)根據(jù)模型(Model)、視圖(View)以及控制器(Controller)[2]的方式分成三個不同的層次:
其中,視圖代表的是同網(wǎng)頁用戶實際應用的界面,而在我們web的應用中,就主要指HTML頁面。在這個模式中,視圖層僅僅負責整個系統(tǒng)中對于數(shù)據(jù)的呈現(xiàn),同時向用戶提供了一個能夠互相交互的界面,而不需要負責系統(tǒng)中其他業(yè)務流程的處理部分。即在實際應用的過程中,視圖層會在提交用戶數(shù)據(jù)之后從系統(tǒng)中接受到解決完畢的數(shù)據(jù),再通過用戶所需求的方式對其進行顯示,而在這個操作的過程中,視圖也會將用戶所提交的請求及時的傳遞給模型。
而對于模型來說,其則是MVC模式的重要核心,其功能主要是進行系統(tǒng)相關的邏輯處理。當模型接受到用戶從視圖層傳遞過來的請求以及輸入等等并進行一定的處理之后,則會將最終的處理結果通過控制器將其在此的反饋給視圖層。在這個過程中,無論是對于控制器層還是視圖層都是以按操作的方式來進行的。同時,在這個過程中,整個MVC模型也并沒有向我們提供對于模型的設計方式。
而控制器的功能則主要是接受用戶通過視圖界面所提交的輸入以及請求,并通過一定的處理之后將這部分請求根據(jù)實際情況發(fā)送到不同的模型之中,并再經(jīng)過進一步的選擇之后將得出的結果再次的展示給用戶??梢哉f,控制器就是將視圖同模型間進行溝通的橋梁,這兩者會在控制器的調(diào)度下完成用戶所提出的相關請求,且在這個過程中也不會參與到邏輯的數(shù)據(jù)處理工作之中。
2 MVC模型的優(yōu)點
第一,在該模型中,其是能夠被很多個視圖所共享的。而在MVC模式中,其則會根據(jù)其中的模型來返回相應的數(shù)據(jù),并在這個過程中由視圖對這部分傳達的數(shù)據(jù)進行格式化,并將其進一步傳遞給用戶。而這種用戶所見同數(shù)據(jù)間分離的形式則進一步提升了系統(tǒng)中代碼的可移植以及重用性。
第二,在此模型中,控制器專門負責對其中業(yè)務對象進行控制,并根據(jù)用戶的實時情況來對其進行完成,并在從模型層取得相應支局之后并將其傳遞給視圖層對這部分數(shù)據(jù)進行呈現(xiàn)。而這種控制方式也能夠較大程度的提升應用程序自身的可配置型以及靈活性[3]。
3 ASP.NET設計思想
ASP.NET,是一種專門用于web應用程序的一種具有非常豐富內(nèi)容的編程框架,其是我們創(chuàng)建web的一種全新的手段,且能夠同.NET Framework良好的集成。對于ASP.NET來說,其中最為重要的技術有XML webservices以及web窗體技術這兩種,且其同時還具有著運行程序不依賴客戶端和操作系統(tǒng)的特點。
同其他的編程語言比對來說,其一個最為明顯的區(qū)別就是能夠為我們提供一個非常完整的服務器端模型,并能夠使我們能夠在運行的期間對其進行使用,同時,其也能夠在軟件運行的環(huán)境中將web中的多個界面作為空間進行訪問,比如其它的.NET類以及多項功能等等,具有著非常好的靈活性。所以,當ASP.NET生成網(wǎng)頁內(nèi)容時,我們則稱之為web窗體,且其所獨創(chuàng)的技術能夠使頁面自身的業(yè)務邏輯同布局良好的分開來,并使我們能夠以拖放這種更為直觀、簡潔的方式對頁面進行開發(fā)工作。
而對于ASP.NET自身的運行機制來說,當其遇到用戶所發(fā)出的請求之后,則會主要通過以下幾種方式對其進行處理:
首先,當我們第一次對某一個網(wǎng)頁進行訪問時,ASP.NET會幫助我們發(fā)出相應的請求,并將其傳遞到用戶實際想訪問的網(wǎng)絡頁面中,之后,則會實時的通過ASP.NET對當前網(wǎng)絡頁面中的頁面類進行查找,并由專門的類對用戶所發(fā)出的請求內(nèi)容進行處理,并當其處理完畢之后將我們所發(fā)出的請求進行再一次的轉(zhuǎn)發(fā),并繼續(xù)發(fā)回到客戶端中向用戶進行呈現(xiàn)。
而如果用戶不是第一次對頁面進行訪問,而是重復訪問時,由于用戶之前所進行的訪問同服務器端已經(jīng)建立起了連接、并已經(jīng)完成過了訪問頁面所需要的初始工作,而面對這種情況時,系統(tǒng)則會將用戶所發(fā)出的請求經(jīng)過簡單的處理之后直接傳遞給客戶端即可。
而由于ASP.NET自身所具有的緩存特點,如果其所發(fā)出的請求能夠從緩存中提取,那么用戶所發(fā)出的這種請求就不會被處理,而是會直接從緩存內(nèi)容中獲取處理結果并將其傳遞回客戶端。
而當用戶對當前的頁面進行刷新時,系統(tǒng)對其進行處理的方式則同緩存處理方式類似,由于用戶所請求的內(nèi)容已經(jīng)在之前對其訪問的過程中就已經(jīng)得到了處理,那么服務器端就會直接從系統(tǒng)緩存中對這部分結果進行提取,并將其返回給客戶端[4]。
4 ASP.NET的特點
第一,更高的執(zhí)行效率
當我們第一次運行ASP.NET時,系統(tǒng)會將程序通過一定的編譯而成為ASP.NET系統(tǒng)中獨特的中間語言---MISL,而在后續(xù)運行的過程中,只需要將其再次編譯為機器語言即可。而通過這種方式,則能夠較大程度的提升程序自身的執(zhí)行效率。
第二,可管理性高
在ASP.NET中,其將全部的配置信息都存放在了文本類型的文件之中,而我們在實際使用的過程中僅僅通過對于設置的改變則能夠較好的對其進行實現(xiàn)。尤其是對于ASP.NET的部署工作來說,也僅僅需要將文件進行拷貝即可,而不需要再次啟動系統(tǒng)就能夠?qū)⑾鄳某绦蜻M行遷移[5]。
5 ASP.NET MVC框架的整合應用
近年來,我國的互聯(lián)網(wǎng)應用得到了快速的發(fā)展,而對于早期的web應用來說,其也由于缺乏較為系統(tǒng)以及嚴格的開發(fā)方式而不再滿足人們的需求,對此,人們也更注重對于web的新技術開發(fā)。對此,微軟將ASP.NET 以及MVC這兩種技術進行了一定的整合,其是通過建立在ASP.NET平臺的一種技術方式,并在此過程中良好的借鑒了MVC設計模式自身所具有的種種優(yōu)點如控制器、模型以及視圖等概念以及運行方式都引入了其中,從而使整套系統(tǒng)能夠在具有高效工作的同時也能夠具有更好的操作性以及管理性,可以說,ASP.NET MVC框架就是在兩者技術各自優(yōu)點之上的整合,從而更好的便于人們對兩種技術進行應用。而在人們對其進行廣泛應用的同時,微軟也不斷的對ASP.NET MVC框架進行完善,從而以版本的提升使得該框架的各種功能得到了不斷的完善[6]。
在ASP.NET MVC框架的整合應用中,其使用了更新的Razor語法來對模板進行編寫,其通過@開頭,來將C#代碼嵌入到web頁面之中。比如以下代碼就是表示將控制器類中的6 結束語
總的來說,目前我國的ASP.NET MVC框架技術已經(jīng)較為成熟,且已經(jīng)受到了人們的廣泛應用。在上文中,我們對于兩者的技術特點以及使用優(yōu)點都進行了一定的研究分析,而在實際應用過程中,也需要我們能夠良好的了解各自的優(yōu)點,從而更好的便于我們進行web設計工作。
參考文獻:
[1]黃勝根,陳蜀宇.基于ASP.NETMVC框架的干教系統(tǒng)的設計與實現(xiàn)[J].計算機技術與發(fā)展,2010(02):101-104.
[2]盧俊瑋,常琳,陳昀錕.MVC模式與ASP.NETMVC框架的技術研究[J].電腦知識與技術,2010(19):5160-5162.
[3]涂剛,李建,劉華清.ASP.NETMVC的研究[J].軟件工程師,2010(08):78-82.
[4]吳勝,劉建波,劉士彬.ASP.NETMVC框架下內(nèi)容管理系統(tǒng)的探索與實現(xiàn)[J].微計算機信息,2010(36):30-32.
[5]孫高毅,周春艷.Asp.netMVC框架自定義視圖引擎的實現(xiàn)[J].微計算機信息,2009(21):161-162.
[6]葉紅衛(wèi).基于ASP.NETMVC框架的Web設計[J].河北北方學院學報(自然科學版),2009(06):61-65.
作者簡介:許輝(1979.10-),女,本科,講師,主要從事計算機軟件方面研究。
作者單位:鎮(zhèn)江高等職業(yè)技術學校,江蘇鎮(zhèn)江 212003