黃東連
(湖北工業(yè)大學(xué),湖北 武漢 430068)
基于ASP.NET MVC框架的Web開發(fā)研究
黃東連
(湖北工業(yè)大學(xué),湖北 武漢 430068)
ASP.NET MVC框架是微軟公司推出的新一代Web應(yīng)用程序開發(fā)框架,為.NET開發(fā)平臺(tái)在互聯(lián)網(wǎng)領(lǐng)域注入了一支強(qiáng)有力的主力軍,從而使得微軟公司在眾多MVC開發(fā)框架中占據(jù)一席之地。本文首先介紹了MVC設(shè)計(jì)模式,然后介紹了在Mircrosoft Visual Studio 2012下創(chuàng)建基于ASP.NETMVC的Web應(yīng)用程序,并對項(xiàng)目的開發(fā)目錄結(jié)構(gòu)進(jìn)行了介紹。
MVC;ASP.NET MVC框架;Visual Studio 2012
在微軟推出MVC開發(fā)框架之前就已經(jīng)有很多使用具有MVC模式的框架,如基于Sun公司J2EE平臺(tái)的Spring框架、Struts框架等,MVC框架的好處是它把視圖層與業(yè)務(wù)邏輯層分離,從而使得Web應(yīng)用更加容易維護(hù)和修改,所以得到很多開發(fā)者的使用。在此背景下,美國微軟公司于2009年推出了新一代的基于.NET開發(fā)平臺(tái)的ASP.NET MVC框架(現(xiàn)已經(jīng)更新至ASP.NET MVC 4.0版本),從而在眾多的MVC開發(fā)框架中占據(jù)一席之地,更是極大地推動(dòng)了MVC模式的應(yīng)用發(fā)展[1]。
ASP.NET中基于MVC模式的開發(fā)框架,與傳統(tǒng)的Web應(yīng)用程序開發(fā)方式不同,它將用戶輸入、業(yè)務(wù)邏輯和用戶界面三者之間分離,從而降低了項(xiàng)目開發(fā)的復(fù)雜性,并且還增強(qiáng)了可測試性。不同的開發(fā)人員可以同時(shí)開發(fā)不同的部分,提高了項(xiàng)目組并發(fā)開發(fā)的能力[2]。
在了解ASP.NETMVC之間,首先需要清楚什么是MVC。MVC并不是一種程序語言,嚴(yán)格說起來也不算是一門技術(shù),而是開發(fā)時(shí)所使用的一種“框架”。MVC (Model一View一Controller的簡稱,即模型、視圖、控制器),是很多Web應(yīng)用程序開發(fā)者熟悉的一種開發(fā)框架,其主要的作用是實(shí)現(xiàn)系統(tǒng)的輸入、業(yè)務(wù)邏輯與用戶界面三者之間的分離,從而達(dá)到分工明確的目的。如圖1所示:
圖1 MVC框架圖
Model(模型):是MVC框架的主要部分,用于封裝與應(yīng)用程序業(yè)務(wù)相關(guān)的數(shù)據(jù)以及對數(shù)據(jù)的處理方法。Model與View之間可以表現(xiàn)為一對多的關(guān)系,Model提供處理后的結(jié)果數(shù)據(jù)給View,且Model對數(shù)據(jù)如何顯示或如何操作并不關(guān)心[3]。
View(視圖):是用戶可以瀏覽并與之交互的界面。View的工作職責(zé)是接收從Model傳遞過來的結(jié)果數(shù)據(jù),并根據(jù)用戶的需求進(jìn)行呈現(xiàn),在View中不包括任何與業(yè)務(wù)邏輯相關(guān)的代碼,也就是說,View只提供一個(gè)輸出數(shù)據(jù)和用戶操作界面。
Controller(控制器):Controller的工作職責(zé)是接受用戶的輸入和請求,并調(diào)用適當(dāng)?shù)腗odel和View來完成用戶的需求。也就是說,Controller一方面根據(jù)用戶的需求把相關(guān)的業(yè)務(wù)派送到相應(yīng)的Model上處理,另一方面將Model返回的結(jié)果呈現(xiàn)到相應(yīng)的View上。
ASP.NETMVC是一個(gè)以習(xí)慣替換配置的開發(fā)框架,它將通過MVC設(shè)計(jì)模式常見的規(guī)則,切割成Model、View、Controller三個(gè)部分,而且明確定義開發(fā)人員必須按照特定的”習(xí)慣”來開發(fā)程序[4一5]。
在Mircrosoft Visual Studio 2012(以下簡稱VS2012)平臺(tái)中新建一個(gè)基于ASP.NET MVC 4 Web的應(yīng)用程序, VS2012在解決方案里會(huì)自動(dòng)生成具有MVC模式的目錄結(jié)構(gòu),其中目錄“Models”對應(yīng)MVC中的Model,目錄“Views”對應(yīng)MVC中的View,目錄“Controllers”對應(yīng)MVC中的Controller。如圖2所示:
圖2 MVC目錄結(jié)構(gòu)
所有Model相關(guān)的類放在Models目錄下。
所有View相關(guān)頁面放在Views目錄下。Views目錄下的第一層子目錄名稱必須是相對應(yīng)的Controller名稱,且View頁面的文檔名必須以Controller里的Action名稱來命名,而擴(kuò)展名可以是aspx、ascx或cshtml。部分代碼如下:
3.1 關(guān)注點(diǎn)分離與可維護(hù)性。也就是說,當(dāng)我們在進(jìn)行項(xiàng)目開發(fā)時(shí),可以只關(guān)注在當(dāng)前的對象上,不會(huì)受到相同項(xiàng)目中其他對象的干擾,進(jìn)而專注于完成工作。
3.2 開發(fā)工具與效率?;贏SP.NET MVC框架的Web應(yīng)用程序最大的優(yōu)點(diǎn)就是可以采用Visual Studio進(jìn)行開發(fā),尤其是Visual Studio2012新增了許多ASP.NET MVC的開發(fā)支持,很大程度上提升了開發(fā)效率。
3.3 易于測試的架構(gòu)。項(xiàng)目可通過各種測試框架(如Visual Studio、Unit Test、NUnit等),輕易地實(shí)現(xiàn)測試導(dǎo)向開發(fā)流程到專案中。
3.4 易于分工的架構(gòu)。由于關(guān)注點(diǎn)分離的特性,所以在項(xiàng)目的開發(fā)早期階段就可以進(jìn)行分工,不用等到核心功能完成以后,才能開始進(jìn)行開發(fā)或集成。
基于微軟的ASP.NETMVC框架為Web應(yīng)用開發(fā)提供了一種新的解決辦法,使得ASP.NET應(yīng)用程序也可以類似Java的Web應(yīng)用程序一樣擁有清晰的開發(fā)結(jié)構(gòu)。頁面全新的Rasor語法結(jié)構(gòu)方便了界面開發(fā),模型類與數(shù)據(jù)庫的直接映射提高了代碼的可讀性,降低了組件間的耦合,增強(qiáng)了應(yīng)用的可維護(hù)性和可測試性,提高了開發(fā)效率。
[1]林樂逸.基于ASP.NET MVC和實(shí)體框架的軟件項(xiàng)目管理平臺(tái)[D].上海:上海交通大學(xué),2012.
[2]汪斌.基于ASP.NET的MVC框架的應(yīng)用研究[J].電腦知識(shí)與技術(shù),2009(07):1629一1631.
[3]葉紅衛(wèi).基于ASP.NET MVC框架的Web設(shè)計(jì)[J].河北北方學(xué)院學(xué)報(bào)(自然科學(xué)版),2009(06):61一65.
[4]盧俊瑋,常琳,陳的棍.MVC模式與ASP.NET MVC框架的技術(shù)研究[J].電腦知識(shí)與技術(shù),2010(19):5160一5162.
[5]方柯.基于ASP.NET MVC框架的Web應(yīng)用開發(fā)研究[D].上海:華東師范大學(xué),2011.
Research on Web DeveloPment Based on ASP.NET MVC Framework
Huang Donglian
(Hubei University of Technology,Wuhan Hubei 430068)
ASP.NET MVC framework is a new generation of Web application development framework released by Microsoft,which is a powerful force for the.NET development platform in the Internet field,thus making Microsoft take a beneficial place in various MVC development framework.This paper firstly introduces the MVC design model,and then introduces the creation of Web application program based onASP.NET MVC under MicrosoftVisual Studio 2012, and introduces the development directory structure of the project.
MVC;ASP.NETMVC framework;VisualStudio 2012
TP393
A
1003一5168(2015)07一0026一2
2015一6一28
黃東連(1988.10一),女,碩士研究生,技術(shù)員,研究方向:計(jì)算機(jī)技術(shù)領(lǐng)域。