国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MVC框架的ASP.NET研究

2014-12-11 09:20周潤(rùn)苗
中國(guó)科技縱橫 2014年24期
關(guān)鍵詞:設(shè)計(jì)模式開(kāi)發(fā)人員控件

周潤(rùn)苗

(湖南應(yīng)用技術(shù)學(xué)院信息工程學(xué)院,湖南常德 415100)

基于MVC框架的ASP.NET研究

周潤(rùn)苗

(湖南應(yīng)用技術(shù)學(xué)院信息工程學(xué)院,湖南常德 415100)

ASP.NET支持三種模式:Web Pages、MVC(Model View Controller)以及Web Forms,MVC是較受歡迎的設(shè)計(jì)模式,在ASP.NET 3.5基礎(chǔ)之上,ASP.NET MVC提供了一個(gè)新的模型-視圖-控制器框架;在Web應(yīng)用開(kāi)發(fā)技術(shù)中,越來(lái)越多的軟件開(kāi)發(fā)采用了MVC模式。本文將通過(guò)對(duì)ASP.NET MVC框架的研究來(lái)改革ASP.NET的教學(xué)內(nèi)容將其從傳統(tǒng)的ASP.NET Web Forms模式轉(zhuǎn)向MVC開(kāi)發(fā)模式。

MVC Web Forms 設(shè)計(jì)模式

當(dāng)今軟件行業(yè)蓬勃發(fā)展,對(duì)于軟件開(kāi)發(fā),WEB開(kāi)發(fā)是大勢(shì)所趨,ASP.NET課程是本科及高職院校培養(yǎng)WEB開(kāi)發(fā)人才的一大選擇,但許多職業(yè)院校ASP.NET教學(xué)還停留在的Web Forms模式上,有的甚至采用ASP作為主要教學(xué)內(nèi)容。這將給學(xué)生的實(shí)際工作帶來(lái)一定的困擾。

ASP.NET是一個(gè)開(kāi)發(fā)框架,用于通過(guò)HTML、CSS、JavaScript以及服務(wù)器腳本來(lái)構(gòu)建網(wǎng)頁(yè)和網(wǎng)站。

ASP.NET支持三種開(kāi)放模式:Web Pages、MVC(Model View Controller)以及Web Forms,在Web應(yīng)用開(kāi)發(fā)技術(shù)中,越來(lái)越多的軟件開(kāi)發(fā)采用了MVC模式。如何將ASP.NET的教學(xué)內(nèi)容從傳統(tǒng)的ASP.NET事件驅(qū)動(dòng)模式轉(zhuǎn)向MVC開(kāi)發(fā)模式是十分有必要的,也是十分緊迫的一項(xiàng)工作。

1 MVC模式

1.1 MVC模式介紹

MVC(Model-View-Controller,模型-視圖-控件器)模式是上世紀(jì)70年代末提出的,運(yùn)用于Smalltalk平臺(tái)上,至今已被廣泛使用的一種軟件設(shè)計(jì)模式。MVC模式的目的是增加代碼的重用率,減少數(shù)據(jù)的耦合度,使用軟件可維護(hù)性,可擴(kuò)展性、可修復(fù)性、封裝性和靈活性大提高,跟,隨微軟公司的.NET戰(zhàn)略的推進(jìn),越來(lái)越多的軟件開(kāi)發(fā)人員也將MVC模式應(yīng)用到ASP.NET開(kāi)發(fā)中去,以縮短系統(tǒng)開(kāi)發(fā)周期,達(dá)到節(jié)約成本的目的。

MVC模式將應(yīng)用分為模型、視圖和控制器三個(gè)部分:

視圖(View):數(shù)據(jù)的展現(xiàn)。視圖是用戶(hù)看到并與之交互的界面。視圖向用戶(hù)顯示相關(guān)的數(shù)據(jù),并能接收用戶(hù)的輸入數(shù)據(jù),但是它并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。視圖可以向模型查詢(xún)業(yè)務(wù)狀態(tài),但不能改變模型。視圖還能接受模型發(fā)出的數(shù)據(jù)更新事件,從而對(duì)用戶(hù)界面進(jìn)行同步更新。

模型(Model):應(yīng)用對(duì)象。模型是應(yīng)用程序的主體部分。模型代表了業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯; 當(dāng)數(shù)據(jù)發(fā)生改變時(shí),它要負(fù)責(zé)通知視圖部分;一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于同一個(gè)模型可以被多個(gè)視圖重用,所以提高了應(yīng)用的可重用性。

控制器(Controller):邏輯處理、控制實(shí)體數(shù)據(jù)在視圖上展示、調(diào)用模型處理業(yè)務(wù)請(qǐng)求。當(dāng)Web用戶(hù)單擊Web頁(yè)面中的提交按鈕來(lái)發(fā)送 HTML 表單時(shí),控制器接收請(qǐng)求并調(diào)用相應(yīng)的模型組件去處理請(qǐng)求,然后調(diào)用相應(yīng)的視圖來(lái)顯示模型返回的數(shù)據(jù)。

1.2 MVC模式運(yùn)行機(jī)制

如圖所示為MVC模式運(yùn)行機(jī)制:

在MVC模式中,Web用戶(hù)向服務(wù)器提交的所有請(qǐng)求都由控制器接管。接受到請(qǐng)求之后,控制器負(fù)責(zé)決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理;然后模型根據(jù)用戶(hù)請(qǐng)求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回?cái)?shù)據(jù);最后控制器調(diào)用相應(yīng)的視圖來(lái)格式化模型返回的數(shù)據(jù),并通過(guò)視圖呈現(xiàn)給用戶(hù)。

1.3 MVC模式的優(yōu)、缺點(diǎn)

優(yōu)點(diǎn):(1)MVC的這種拆分有助于軟件開(kāi)發(fā)者管理復(fù)雜的應(yīng)用程序,因?yàn)槌绦騿T能夠在同一時(shí)間關(guān)注一個(gè)方面。例如,程序員可以在不依賴(lài)業(yè)務(wù)邏輯的情況下對(duì)視圖進(jìn)行設(shè)計(jì)。同時(shí)對(duì)應(yīng)用程序的設(shè)計(jì)也更加容易。(2)MVC的這種拆分同時(shí)也簡(jiǎn)化了分組開(kāi)發(fā)。不同的開(kāi)發(fā)人員可同時(shí)開(kāi)發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。(3)能夠?qū)TML有完全的控制權(quán)限,對(duì)于前端來(lái)說(shuō)很友好。(4)能夠進(jìn)行單元測(cè)試,保證功能的實(shí)現(xiàn)。

缺點(diǎn):(1)沒(méi)有那么多的現(xiàn)成控件使用,開(kāi)發(fā)效率相對(duì)較低。(2)對(duì)于大型數(shù)據(jù)的處理比較難,還是因?yàn)闆](méi)有現(xiàn)成girdview控件。

2 基于MVC框架的ASP.NET教學(xué)在我院的實(shí)施

2.1 前提

我學(xué)院辦學(xué)以來(lái),非常重視各個(gè)學(xué)科的專(zhuān)業(yè)技能培養(yǎng),ASP.NET課程是信息工程學(xué)院各專(zhuān)業(yè)的專(zhuān)業(yè)核心課程,校內(nèi)有專(zhuān)門(mén)的ASP.NET WEB開(kāi)發(fā)實(shí)訓(xùn)室,學(xué)校簽署有軟件開(kāi)發(fā)公司作為我院web開(kāi)發(fā)的實(shí)訓(xùn)基地。

2.2 實(shí)施

“基于MVC框架的ASP.NET教學(xué)”將作為網(wǎng)站建設(shè)實(shí)訓(xùn)的內(nèi)容安排在學(xué)生離開(kāi)學(xué)校之前的第五學(xué)期,安排在這一學(xué)期的目的是學(xué)生已完成了asp.net基礎(chǔ),數(shù)據(jù)庫(kù)語(yǔ)句,C#等前置課程的學(xué)習(xí)。通過(guò)“基于MVC框架的ASP.NET教學(xué)”的學(xué)習(xí)要求學(xué)生掌握:如何用Visual Studio來(lái)建立一個(gè)ASP.NET MVC Web Application;

如何創(chuàng)建一個(gè)新的ASP.NET MVC項(xiàng)目;

如何用SQL Server創(chuàng)建新的數(shù)據(jù)庫(kù);

如何創(chuàng)建ASP.NET MVC的控制器和視圖;

如何檢索和顯示數(shù)據(jù);

如何編輯數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)的有效性;如何更新數(shù)據(jù)庫(kù)模式。

2.3 意義

在信息工程學(xué)院課程定位及學(xué)院“六業(yè)”(產(chǎn)業(yè)、行業(yè)、專(zhuān)業(yè)、學(xué)業(yè)、就業(yè)、創(chuàng)業(yè))貫通人才培養(yǎng)模式下,構(gòu)建跟行業(yè)對(duì)接的ASP.NET的MVC框架教學(xué)模式,具有良好的現(xiàn)實(shí)意義,能使學(xué)生一走向工作崗位就能很好的適應(yīng)相應(yīng)的工作。

3 結(jié)語(yǔ)

在高職院校的教學(xué)過(guò)程中大多采用ASP.NET Webform技術(shù),它更接近可視化設(shè)計(jì),開(kāi)發(fā)者只需要從設(shè)計(jì)面板中拖拽控件即可完成UI,接著在behind code中實(shí)現(xiàn)邏輯代碼即可完成最后的Web頁(yè)面功能,這有利于學(xué)生學(xué)習(xí),但是這種behind code模式存在相應(yīng)的問(wèn)題:緊耦合,ASPX.CS文件和ASPX文件卻緊密的聯(lián)系在一起,這將導(dǎo)致系統(tǒng)的耦合度很高,并且很難解耦和,這是一個(gè)很頭疼的問(wèn)題;視圖展現(xiàn)數(shù)據(jù),視圖決定了展現(xiàn)的數(shù)據(jù),視圖的擴(kuò)展性就很差,如果遇到復(fù)雜的數(shù)據(jù)結(jié)構(gòu),這種方式就顯得力不從心;將behind code當(dāng)做普通的類(lèi)來(lái)進(jìn)行單元測(cè)試,behind code后臺(tái)代碼在Webform中是一個(gè)非常龐大的類(lèi),并且不能簡(jiǎn)單地實(shí)例化。

ASP.NET MVC框架是在ASP.NET 3.5版基礎(chǔ)之上建立的,程序員可利用現(xiàn)有的ASP.NET 3.5功能,如授權(quán),簡(jiǎn)介,定位等,使用特定的Visual Studio MVC模板建立自己的Web程序,并為Web應(yīng)用程序選擇特定的單元測(cè)試結(jié)構(gòu)。MVC框架的各個(gè)環(huán)節(jié)是完全可擴(kuò)展的,這使開(kāi)發(fā)人員能夠創(chuàng)建復(fù)雜的結(jié)構(gòu),滿(mǎn)足他們的需求,開(kāi)發(fā)人員在ASP.NET開(kāi)發(fā)過(guò)程中應(yīng)用非常廣泛,這也促使我們教授MVC框架。

[1]鄧勇軍.基于MVC 設(shè)計(jì)模式的.NET 產(chǎn)品開(kāi)發(fā)方法探析[J].軟件導(dǎo)刊,2008(7):157-159.

[2]汪斌.基于ASP.NET的MVC框架的應(yīng)用研究[J].電腦知識(shí)與技術(shù),2009(7):162-163.

[3]林慶.基于ASP.NET的MVC設(shè)計(jì)模式的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008(1):167-169.

課程名:《ASP.NET開(kāi)發(fā)技術(shù)中的MVC框架教學(xué)研究》。

周潤(rùn)苗(1984—),女,研究生在讀,講師,研究方向:軟件工程。

猜你喜歡
設(shè)計(jì)模式開(kāi)發(fā)人員控件
“1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
三維協(xié)同設(shè)計(jì)模式下的航天項(xiàng)目管理實(shí)踐與展望
Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
ASP.NET服務(wù)器端驗(yàn)證控件的使用
互動(dòng)式設(shè)計(jì)模式研究
三星SMI擴(kuò)展Java論壇 開(kāi)發(fā)人員可用母語(yǔ)
Spreadsheet控件在Delphi數(shù)據(jù)庫(kù)系統(tǒng)中的編程與應(yīng)用
弋阳县| 芦山县| 江源县| 花垣县| 大关县| 察隅县| 丹巴县| 湘潭市| 寻乌县| 鄂尔多斯市| 台山市| 大渡口区| 黄冈市| 秀山| 彝良县| 万安县| 张家口市| 永善县| 新晃| 鸡西市| 神农架林区| 郑州市| 永川市| 永善县| 青铜峡市| 汽车| 中卫市| 镇康县| 三台县| 富川| 沾益县| 保康县| 江源县| 牙克石市| 鄂伦春自治旗| 安庆市| 新巴尔虎左旗| 玛沁县| 儋州市| 会昌县| 揭阳市|