姜 翠
(咸寧職業技術學院,湖北咸寧437100)
?
MVC設計模式在ASP.NET平臺中的應用探究
姜翠
(咸寧職業技術學院,湖北咸寧437100)
[摘要]近些年來,隨著MVC(Model- View- Controller)設計模式的日趨成熟化,它在ASP.NET平臺上的應用也越來越廣泛。作為軟件設計的經典框架,它通過表示層、數據層與業務層等復合型結構促成了對計算機視圖與控制器功能的實現,提升了軟件開發的系統性與安全性。本文對MVC設計模式的基本功能及其在ASP.NET平臺中的應用特點進行了解析,同時在用戶信息查詢的基礎上,對ASP.NET平臺當中MVC設計模式的具體應用進行具體的探討。
[關鍵詞]ASP.NET;MVC設計模式;視圖;控制器;模型
ASP.NET來自于微軟公司的新計算體系平臺框架,是.NET框架的基本組成部分。該體系結構在很大程度上支持了當前的網絡分布式應用,對傳統的Web開發模型當中存在的復雜繁瑣性以及管理安全性差的缺陷進行了有效的改善,并且實現了比Web頁面技術更優越的面向對象技術。但從全局來看,ASP.NET還有不足之處,比如它還依然要在傳統的Web頁面中顯示信息,且業務邏輯與流程控制之間的耦合性依然很高,不利于其工程性應用的發展,同時也影響了用戶顯示問題模型與用戶操作I/O交互作用在主操作界面中的相對穩定性。因此,本文采用了MVC設計模式結合ASP.NET框架,根據現實系統需求改變和調整所顯示的內容及形式,希望妥善解決上述問題。
(一)MVC的基本理論
MVC的基本設計模式包括了模型(Model)、視圖(View)、控制器(Controller)三大組成部分。它誕生于20世紀70年代初期,是第一代基于視窗的計算機圖形用戶界面與用戶交互平臺。目前,ASP.NET技術在計算機的大型Web方面具有廣泛應用,這也為MVC模式融入平臺提供了可能。可以說,MVC提升了Web應用的可重用性與可擴展性,將數據訪問、業務邏輯和用戶接口完全隔離,并進一步強化了計算機項目的可擴展性、可維護性以及代碼復用功能,成為了當代設計交互式應用中的基本標準。
如圖1中所展示,組成MVC設計模式的三部分為模型、視圖與控制器。它們彼此之間存在一定的松散耦合性,提高了程序的開發靈活性,避免重復性代碼的高出現率,達成了代碼重用功能。
視圖通過模型展示相關數據和邏輯關系,凸顯MVC設計模式在ASP.NET平臺中的重要性,也就是對不同形式的視圖進行有效顯示;控制器對軟件以及用戶之間的相關交互操作進行有效處理、控制,同時傳達模型的任何變化形式,保證用戶與模型之間時刻保持聯動性,同時也接收來自于用戶的所有信息,最后凸顯模型的計算控制能力,所以控制器從整體來看就是模型與視圖之間的協調組件;最后是模型,視圖實現了模型的存儲功能,而控制器則負責管理模型數據,生成基于核心數據的計算關系和邏輯功能,使得模型更具獨立性。
從整體來看,視圖、控制器與模型三者之間是完全分離的,它們為模型實現了多視圖顯示功能。但是它們之間又存在聯系,如果用戶改變了某個視圖控制器中有關模型的數據,那么這個視圖的數據也會發生改變,牽動控制器中所有視圖的變化與更新。可以說,它反映了基于模型數據變化的一種信息傳播機制,也體現了MVC設計模式中三者之間的相互關系與各自功能關聯。
(二)MVC設計模式在ASP.NET平臺建設中所體現的優勢
對ASP.NET平臺的建設可以在一定程度上強化MVC設計模式的開發及運用,凸顯MVC在平臺建設中的優勢。
1.降低Web頁面依賴性
如前文所說,新的MVC設計模式減少了計算機系統對Web主頁面的依賴性,提升了對代碼的重用功能,這是因為MVC特別強調了ASP.NET平臺在建設過程中的頁面設計代碼分離。
2.ASP.NET平臺設計清晰化
MVC的加入讓模型能夠在同一時間內建立并使用多個視圖,使得模型數據變化與傳播機制都發生改變,實現了所有關聯視圖與控制器之間的行為同步。正是這種同步性激發了MVC設計模式在運用程序中可拓展性的發揮,使得平臺在實現某些功能時更加輕松協調,允許了多控制器的使用。在這種傳播機制下,模型的改變也提升了控制器獨立工作的能力。
3.MVC設計模式中模型的可移植性
MVC中的模型全部獨立于視圖之外,將它們單獨移植到某個ASP.NET之外的新平臺上,其操作方法就是在新平臺上對視圖與控制器數據進行全面修改。由此可見,MVC設計模式能夠為ASP.NET創造更多全新的平臺結構,讓MVC設計模式不僅局限于設計基本的系統界面。
(一)MVC的應用模型分析
ASP.NET為MVC設計模式提供了直接可用的應用環境,利用code- behind代碼對顯示頁面中用戶交互功能的處理。在這里,code- behind源代碼文件與.aspx文件之間相互對應,腳本語言、HTML代碼以及邏輯控制代碼之間的分離依靠源代碼文件得到最終的實現。此外,ASP. NET這一系統也通過表示層、數據層與業務層三層Web結構劃實現了視圖與控制器功能,并將MVC中的三大部分映射回ASP.NET的平臺結構里面,并基于MVC模式下對ASP.NET平臺系統的應用模型進行進一步的構建。以Web系統當中的“用戶信息查詢模塊”為例,應用模型的建立基本實現了MVC在ASP.NET平臺中的應用機制。如圖2。
(二)視圖實現
ASP.NET平臺的開發環境當中,視圖的設計更加地便捷。利用Visual Studio.NET便可獲得視圖設計所需的Web窗體、HTML控件以及各種各樣的組件。這些控件都鑲嵌于Web自定義系統之中,它們幫助計算機的Windows界面實現了對視圖的可視化設計,并且讓視圖與各個模塊中的.aspx文件也實現了一一對應,優化了各個用戶界面的操作性。

圖1 MVC設計模式中各組件類型之間的功能關系示意圖
以XX企業的績效信息平臺為例,各個模塊與視圖當中的.aspx文件一一對應,系統當中的用戶界面都有與之相互對應的.aspx文件進行匹配。在XX企業的績效信息平臺系統的設計過程中,通過對責任人、績效測量員、系統管理人員、企業員工用戶的需要進行分析,對測量、分析、修改、評價、查詢、指標管理等相關界面進行合理、科學的定義。這其中,“測量”這一核心業務流程最能說明視圖設計的實現:系統為視圖的設計提供一定的過程選擇接口,依照相關的權限,企業測量人員對企業的績效考核過程進行選擇。在測量的過程中,系統提供了一定的時間選擇接口,視圖當中可以對每一個過程進行測量界面的顯示,相關的指標以及時間均為實測值。
(三)控制器實現
MVC設計模式的加入使得ASP.NET平臺在代碼分離功能機制方面得到了強化,它可以簡化視圖中的各個代碼,使控制器、模型之間的代碼分離,使每個.aspx文件都對應一個后端代碼.cs,實現控制器功能,使Controller能夠更好地接收、截獲和處理來自于用戶的各種請求與突發事件。就以用戶數據查詢模塊視圖UserInfo.aspx所對應的Controller為例,根據用戶所輸入的個人ID來查詢出他的基本信息,所以控制器的具體實現流程為:
Public class UserInfo:System.Web.UI.Page
{Protected System.Web.UI.WebControls.DataGrid dgU-serInfo;//聲明DataGrid控件}
Protected System.Web.UI.WebControls.Button btnSubm it;//聲明Button控件,提交按鈕
Protected System.Web.UI.WebControls.TextBox tbID;//聲明TextBox控件,用戶填寫ID數據
UserInfoBiz useInofo=new UserInfoBiz();//實例化對應業務邏輯類
{Stringid=tbID.Text;//用戶輸入于textbox中的數據
dgUserIofo.DataSource=ds.Tables[0].DefaultView;//截取數據源
dgUserIofo.DataBind();//綁定控件,聯系到指定數據源}
void btnSubmit_Click(Object sender,EventArgs)//提交按鈕事件
(四)模型實現
模型在ASP.NET平臺的作用就是管理應用程序域中的各種數據和行為,它銜接了數據庫與業務邏輯數據,提升了系統的公共交互操作性。在基本類庫中定義DataBase類,將其變成能夠在系統平臺的公共數據庫中操作使用的基本類,做到基本類與數據庫之間的連接和交互。在此過程中,控制器以后端代碼.cs文件來組成新的Biz層,達到完善模型的目的。

圖2 在ASP.NET平臺中MVC設計模式的應用
參考文獻:
[1]庫爾班江·托乎提.MVC設計模式在ASP.NET平臺中的應用[J].信息系統工程,2015(2)∶14.
[2]陳佳.ASP.NET系統開發中MVC設計模式的應用研究[J].計算機與網絡,2009(7)∶46- 52.
[3]徐朝輝,樊銀亭.MVC設計模式在ASP.NET應用開發中的研究和實現[J].電腦知識與技術(學術交流),2007,1 (6)∶1536- 1537.
[4]張原,張昭,劉蕊.基于MVC設計模式的虛擬實驗平臺模塊化設計[J].計算機工程與科學,2013,35(8)∶125- 129.
[5]李園,陳世平.MVC設計模式在ASP.NET平臺中的應用[J].計算機工程與設計,2009(7):152- 153.
[6]任艷斐.MVC設計模式在基于ASP.NET系統開發中的應[J].科技廣場,2008(5)∶168- 169.
[中圖分類號]TP308
[文獻標識碼]A
[文章編號]1673- 0046(2016)4- 0183- 03