亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NET MVC模式的筆記管理系統(tǒng)

        2019-07-10 02:04:44詹喆胡宗海姚程寬曹立勇
        科技視界 2019年13期

        詹喆 胡宗海 姚程寬 曹立勇

        【摘 要】隨著互聯(lián)網(wǎng)的高速發(fā)展,人們對(duì)Web應(yīng)用開(kāi)發(fā)的要求越來(lái)越高。MVC設(shè)計(jì)模式在滿足界面要求的同時(shí),使軟件的計(jì)算模型獨(dú)立于界面,為大型可擴(kuò)展的Web應(yīng)用開(kāi)發(fā)提供了結(jié)構(gòu)化的模型。本文以筆記管理為例,研究了基于ASP.NET MVC模式的系統(tǒng)開(kāi)發(fā),展示出該技術(shù)架構(gòu)對(duì)頁(yè)面開(kāi)發(fā)模式的影響,更強(qiáng)調(diào)使用傳統(tǒng)HTML,輕量化了Web開(kāi)發(fā),使系統(tǒng)運(yùn)行效率得到了提升。

        【關(guān)鍵詞】ASP.NET;MVC;軟件開(kāi)發(fā)

        中圖分類號(hào): TP311.52文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)13-0065-003

        DOI:10.19694/j.cnki.issn2095-2457.2019.13.030

        Notebook Management System Based on ASP.NET MVC Mode

        ZHAN Zhe HU Zong-hai YAO Cheng-kuan CAO Li-yong

        (Dept. of Common Basic, Anqing Medical College, Anhui Anqing 246052, China)

        【Abstract】With the rapid development of the Internet, people have higher and higher requirements for Web application development. MVC design pattern not only meets the interface requirements, but also makes the software computing model independent of the interface, which provides a structured model for the development of large scalable Web applications. This paper takes note management as an example, studies the system development based on ASP.NET MVC mode, demonstrates the impact of the technical framework on the page development mode, emphasizes the use of traditional HTML, lightweight Web development, and improves the efficiency of the system.

        【Key words】ASP.NET; MVC; Software Development

        0 引言

        在互聯(lián)網(wǎng)時(shí)代,越來(lái)越多的應(yīng)用趨向Web化(基于B/S模式的Web開(kāi)發(fā)),桌面軟件正在慢慢屈居次席。傳統(tǒng)Web開(kāi)發(fā)使用原生HTML標(biāo)簽與ECMAScript(JavaScript)與服務(wù)器端進(jìn)行通信,服務(wù)器端調(diào)用CGI(Common Gateway Interface 通用網(wǎng)關(guān)接口)為請(qǐng)求進(jìn)行服務(wù),隨著系統(tǒng)規(guī)模與復(fù)雜度的不斷增長(zhǎng),這種傳統(tǒng)開(kāi)發(fā)方式暴露出性能與開(kāi)發(fā)效率上的嚴(yán)重不足,無(wú)法滿足現(xiàn)代Web系統(tǒng)開(kāi)發(fā)的需要。Microsoft公司在2000年,效仿用于桌面軟件開(kāi)發(fā)的WinForm技術(shù),推出了名為ASP.NET WebForm的開(kāi)發(fā)技術(shù),首次在Web開(kāi)發(fā)中應(yīng)用了“事件驅(qū)動(dòng)”開(kāi)發(fā)模型(Event Driven Development)。WebForm是一種類似桌面軟件的開(kāi)發(fā)技術(shù),屏蔽掉了傳統(tǒng)開(kāi)發(fā)模式中HTTP協(xié)議的“無(wú)狀態(tài)”導(dǎo)致的難以理解的問(wèn)題,使開(kāi)發(fā)效率得到了極大的提高。2007年,Microsoft公司推出ASP.NET MVC開(kāi)發(fā)技術(shù),將著名的MVC軟件開(kāi)發(fā)模式應(yīng)用到了Web開(kāi)發(fā)中,Model-Controller-View的模式將Web的整體架構(gòu)分為了三個(gè)各司其職的組件。

        1 ASP.NET MVC 簡(jiǎn)介

        ASP.NET是微軟專門(mén)針對(duì)MVC架構(gòu)推出的Web開(kāi)發(fā)框架,作為新一代的Web開(kāi)發(fā)框架,它旨在替代ASP.NET Web Form。它良好地結(jié)合了MVC架構(gòu)的高效和清晰、敏捷開(kāi)發(fā)中最新潮的技術(shù)和思想與ASP.NET平臺(tái)中的優(yōu)良部分。

        在ASP.NET MVC中,模型、視圖與控制器,有了更加具體的展示。

        模型代表是一系列業(yè)務(wù)相關(guān)實(shí)體的類。就像操作數(shù)據(jù)的代碼一樣,業(yè)務(wù)實(shí)體一般將存儲(chǔ)在數(shù)據(jù)庫(kù)中的這些數(shù)據(jù)封裝起來(lái),并執(zhí)行領(lǐng)域相關(guān)的業(yè)務(wù)邏輯,它就像數(shù)據(jù)訪問(wèn)層一樣,使用Entity Framework等ORM工具,輔以業(yè)務(wù)邏輯相關(guān)的代碼對(duì)數(shù)據(jù)進(jìn)行操作。視圖在ASP.NET MVC中是一種動(dòng)態(tài)生成HTML的模板,ASP.NET MVC保證了有一些視圖是無(wú)法展示在界面上的,例如母版頁(yè)等。控制器在ASP.NET MVC中命名以Controller結(jié)尾,負(fù)責(zé)處理模型數(shù)據(jù)以及展示視圖,圖1展示了基于ASP.NET MVC的筆記項(xiàng)目的基本結(jié)構(gòu)。

        與ASP.NET Web Form不同,ASP.NET MVC在項(xiàng)目的開(kāi)發(fā)模型上是一套嶄新的模型。

        (1)ASP.NET MVC上不存在Web Form中一個(gè)頁(yè)面對(duì)應(yīng)一個(gè)后臺(tái)CS代碼文件的邏輯,取而代之的是讓模板視圖(CSHTML)專門(mén)進(jìn)行界面展示,使一個(gè)視圖可以給多個(gè)控制器使用。

        (2)沒(méi)有了Web Form中的界面設(shè)計(jì)器,在設(shè)計(jì)界面時(shí),無(wú)法實(shí)時(shí)看到界面布局效果,如果要瀏覽界面效果,只能在瀏覽器中查看。

        (3)取消了服務(wù)器控件,無(wú)法通過(guò)屬性設(shè)計(jì)器針對(duì)事件進(jìn)行編程,取而代之的是使用原生HTML標(biāo)簽。

        (4)Web Form中文件所處的物理位置即頁(yè)面的URL鏈接,而在ASP.NET MVC中,不存在URL對(duì)應(yīng)某文件的概念,URL統(tǒng)一由獨(dú)立的路由組件進(jìn)行管理,通過(guò)路由尋找對(duì)應(yīng)的視圖與控制器,圖2展示了ASP.NET MVC中的默認(rèn)路由組件。

        (5)由于拋棄服務(wù)器控件,回歸到傳統(tǒng)的無(wú)狀態(tài)HTTP開(kāi)發(fā)模式,不需要保存頁(yè)面的狀態(tài),節(jié)省了空間,使頁(yè)面?zhèn)鬏斝阅艿玫搅颂岣摺?/p>

        (6)對(duì)單元測(cè)試支持良好。由于框架中的核心類都是面相接口的,于是我們可以很容易地通過(guò)創(chuàng)建模擬接口行為的測(cè)試類,將每一個(gè)對(duì)象或函數(shù)單獨(dú)測(cè)試,而不需要運(yùn)行整個(gè)站點(diǎn)進(jìn)行測(cè)試。

        2 ASP.NET MVC與MVC模式開(kāi)發(fā)

        ASP.NET MVC基于MVC架構(gòu)進(jìn)行構(gòu)建,對(duì)MVC的支持是內(nèi)建的,可以說(shuō)沒(méi)有MVC,就沒(méi)有ASP.NET MVC框架。下面以筆記管理為例,展示ASP.NET MVC中的MVC模式開(kāi)發(fā)。

        2.1 Model構(gòu)建

        在ASP.NET MVC的開(kāi)發(fā)中,大多使用Code First這一方式進(jìn)行開(kāi)發(fā),它使用“約定”式編程,先寫(xiě)出模型類,然后利用EF框架根據(jù)模型類在數(shù)據(jù)庫(kù)中構(gòu)建出相應(yīng)的表。這一節(jié)我們依然以IdentityDB為例,展示Model組件的構(gòu)建,以及如何根據(jù)Model生成數(shù)據(jù)庫(kù)中的表。

        如下圖3所示,我們編寫(xiě)出了相應(yīng)的模型類,并利用.NET提供的Attribute特性給相應(yīng)的字段添加了相關(guān)約束條件。

        接著在我們的數(shù)據(jù)庫(kù)生成Context中添加該模型以及需要的其他模型類的DbSet,使ADO.NET Entity Framework能夠在程序運(yùn)行時(shí)自動(dòng)地向數(shù)據(jù)庫(kù)中添加相應(yīng)的表。

        接著我們運(yùn)行程序,這時(shí)數(shù)據(jù)庫(kù)中會(huì)相應(yīng)地生成表,圖5展示了Note表的表結(jié)構(gòu),其中表屬性與Note模型類中所定義的字段約束一致。

        此時(shí)使用如下代碼即可以對(duì)數(shù)據(jù)庫(kù)中的Note表進(jìn)行操作,例如增加操作,刪除操作,修改操作,與搜索操作。此后在項(xiàng)目中即可以方便地使用ADO.NET Entity Framework來(lái)操作Model。

        AppIdentityDbContext _db=new AppIdentityDbContext();

        Note note=new Note();

        _db.Notes.Find(id);//搜索操作

        _db.Notes.Remove(note);//刪除操作

        _db.Notes.Add(note);//增加操作

        _db.Entry(note).State=EntityState.Modified;//更新操作

        _db.SaveChanges();

        2.2 View構(gòu)建

        視圖負(fù)責(zé)向用戶展示界面,并提供輸入元素使用戶可以輸入相關(guān)信息,以筆記管理系統(tǒng)中的筆記添加頁(yè)面為例,如圖6所示。

        Note視圖代碼片段如圖7所示。

        如上圖代碼所示,model代表當(dāng)前視圖所引用的模型,該模型由控制器傳輸?shù)揭晥D中,視圖接著可以從Note模型中的相應(yīng)字段數(shù)據(jù),展示在界面上,同時(shí),還可以在界面上輸入元素中修改數(shù)據(jù),通過(guò)提交行為提交到相應(yīng)的控制器,由控制器將所修改數(shù)據(jù)寫(xiě)回到模型中,并將模型保存回?cái)?shù)據(jù)庫(kù)中。

        2.3 Controller構(gòu)建

        控制器負(fù)責(zé)定義程序相關(guān)的行為,可以將模型數(shù)據(jù)發(fā)送到相應(yīng)的視圖中,也可以從視圖中收集用戶數(shù)據(jù),更新相關(guān)模型,并寫(xiě)回?cái)?shù)據(jù)庫(kù)。

        在筆記編輯頁(yè)面中,我們可以在輸入元素中輸入文字,然后通過(guò)“保存”按鈕提交頁(yè)面數(shù)據(jù)到相應(yīng)控制器,如圖8代碼片段所示,點(diǎn)擊后頁(yè)面將提交到Html.BeginForm()指定的Controller,在這里,所提交到的Controller默認(rèn)情況下與視圖所在的文件夾同名,即NoteController,對(duì)應(yīng)的Controller中的方法與視圖同名,即Create。

        提交到相應(yīng)的控制器后,控制器通過(guò)方法所傳參數(shù)獲取到用戶所作的修改,然后將修改更新到模型中,如圖9所示,隨后控制器將模型更新回?cái)?shù)據(jù)庫(kù)。

        3 結(jié)束語(yǔ)

        本文對(duì)ASP.NET MVC開(kāi)發(fā)技術(shù)的主要技術(shù)架構(gòu)進(jìn)行了剖析,分析了技術(shù)中所采用的架構(gòu)與設(shè)計(jì)模式等,并相應(yīng)地在筆記管理頁(yè)面中應(yīng)用了該技術(shù),以展示出該技術(shù)架構(gòu)對(duì)頁(yè)面開(kāi)發(fā)模式的影響。ASP.NET MVC由于需要開(kāi)發(fā)人員自行使用代碼對(duì)頁(yè)面進(jìn)行布局,使得開(kāi)發(fā)人員需要對(duì)CSS、HTML等技術(shù)有著比較好的掌握。從運(yùn)行效率上看,ASP.NET MVC由于更強(qiáng)調(diào)使用傳統(tǒng)HTML,輕量化了Web開(kāi)發(fā),頁(yè)面源代碼沒(méi)有過(guò)多多余或者重量級(jí)的HTML標(biāo)簽數(shù)據(jù),使得系統(tǒng)運(yùn)行效率得到了提升。

        【參考文獻(xiàn)】

        [1]周文紅.基于ASP.NET MVC框架的Web應(yīng)用開(kāi)發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2013(10):197-199.

        [2]林樂(lè)逸.基于ASP.NET MVC和實(shí)體框架的軟件項(xiàng)目管理平臺(tái)[D].上海交通大學(xué),2012.

        [3]盧俊瑋,常琳,陳昀錕.MVC模式與ASP.NET MVC框架的技術(shù)研究[J].電腦知識(shí)與技術(shù),2010,6(19):5160-5162.

        [4]葉紅衛(wèi).基于ASP.NET MVC框架的Web設(shè)計(jì)[J].河北北方學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,25(06):61-65.

        [5]李園,陳世平.MVC設(shè)計(jì)模式在ASP.NET平臺(tái)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(13):3180-3184.

        [6]林慶,朱翠苗,鄭廣成,賈洪艷,吳旻.基于ASP.NET的MVC設(shè)計(jì)模式的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008(01):167-169.

        [7]徐朝輝,樊銀亭.MVC設(shè)計(jì)模式在.NET三層結(jié)構(gòu)開(kāi)發(fā)中的研究和實(shí)現(xiàn)[J].北京電子科技學(xué)院學(xué)報(bào),2007(02):70-73.

        [8]龔薇華,王晨光,俞歡軍.基于MVC模式和.NET的公司內(nèi)部管理信息系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(09):2142-2144.

        [9]陳曉丹,鄭毅.ASP. NET開(kāi)發(fā)環(huán)境下的WebForm與MVC 設(shè)計(jì)模式[J].武漢工程職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,39-40.

        [10]Adam Freeman.Pro ASP.NET MVC 5[M].Apress,2013.

        [11]林樂(lè)逸.基于ASP_NETMVC和實(shí)體框架的軟件項(xiàng)目管理平臺(tái)[D].上海:上海交通大學(xué),2013.

        [12]楊曉吟.ASP.NET MVC架構(gòu)與Web開(kāi)發(fā)分析[J].自動(dòng)化與儀器儀表,2018(07):32-35+38.

        亚洲一区二区成人在线视频| 草草地址线路①屁屁影院成人| 日韩黄色大片免费网站| 在线亚洲国产一区二区三区| 精品国产97av一区二区三区| 亚洲av成人一区二区三区不卡| 中文字幕乱码亚洲无线| 成人av在线免费播放| 亚洲精品国产av成人网| 97青草超碰久久国内精品91| 伊人久久大香线蕉av色婷婷色| 97丨九色丨国产人妻熟女| 奇米影视第四色首页| 国产成人综合色在线观看网站| 欧美人与动牲交片免费| 亚洲综合色一区二区三区小说| 中文字幕乱码亚洲无线精品一区| 国产伦精品一区二区三区四区| 中文字幕久久精品波多野结百度| 亚洲五月婷婷久久综合| 精品人伦一区二区三区蜜桃麻豆| 福利一区二区三区视频在线| 亚洲精品国产一区av| 亚洲无人区乱码中文字幕动画 | 丝袜人妻无码中文字幕综合网| 男的和女的打扑克的视频| 那有一级内射黄片可以免费看 | 人妻久久999精品1024| 久久熟女乱一区二区三区四区| 精品国产免费一区二区久久| 精品少妇一区二区av免费观看| 中国人在线观看免费的视频播放| 色婷婷综合久久久中文字幕| 玩弄放荡人妻少妇系列| 久久国产精品二区99| 国产成人精品视频网站| 91精品亚洲熟妇少妇| 久久精品亚洲国产av网站| 成年美女黄网站色大免费视频| 亚洲av片在线观看| 最新国产在线精品91尤物|