您好,登錄后才能下訂單哦!
這篇文章主要介紹“ASP.NET MVC1.0有哪些優(yōu)點”,在日常操作中,相信很多人在ASP.NET MVC1.0有哪些優(yōu)點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ASP.NET MVC1.0有哪些優(yōu)點”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、MVC的組成
Models:訪問數(shù)據(jù)庫,裝載數(shù)據(jù)、處理業(yè)務邏輯。在項目中體現(xiàn)為數(shù)據(jù)實體類加業(yè)務代理類。
Views:顯示數(shù)據(jù),用戶界面。在項目中體現(xiàn)為aspx頁面,偶爾可以加上code-behind。
Controller:按路由規(guī)則將請求的數(shù)據(jù)傳送給指定頁面,用于顯示;也可以把用戶輸入的數(shù)據(jù)傳遞給邏輯處理類。它可以包含簡單的驗證邏輯。不應包含數(shù)據(jù)訪問邏輯。
2、為何使用MVC
提出MVC的目的無非是提高開發(fā)效率、提高可測試性。官方的ASP.NET MVC 1.0指南中指出(以下簡稱指南),基于MVC的Web應用程序有如下優(yōu)點:
[1]對復雜的程序管理更方便
It makes it easier to manage complexity by dividing an application into the model, the view, and the ontroller.
[2]在開發(fā)上有更高的可控性
It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
[3]Routing使軟件設計有更多靈活性
It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure.
[4]更加適合測試驅(qū)動開發(fā)
It provides better support for test-driven development (TDD).
[5]團隊開發(fā)項目中有更高的可控性
It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior.
同時MVC框架還有以下特點:
[1]將應用程序分成各個組成部份,更有利于測試。MVC框架是基于接口的,這樣可以利用MOCK方式來替換你的實際類;做單元測試的時候,也可以不運行Contrllers,這樣的測試就更快更靈活。
[2]MVC框架是可擴展的,你可以自己設計并替換視頻引擎、URL導向規(guī)則、Action的參數(shù)序列等等。同時MVC框架也支持依賴注入和控制反轉(zhuǎn),你可以從外部注入實例,而不用讓類自己創(chuàng)建實例,你還可以通過配置文件的方式創(chuàng)建實例,這樣使得測試更方便。
[3]強大的URL映射組件使得你的應用程序的URL更易理解,同時具備搜索能力。你的URL不必包括文件路徑,這樣的設計很適合自定義查詢引擎和REST架構(gòu)。
[4]MVC框架仍然支持ASP.NET中的頁面、用戶控件、母版頁作為視圖的模板;同時你也還可以使用嵌套母版頁、行內(nèi)表達式(in-line expressions<%=>)、服務器端控件、模板、數(shù)據(jù)綁定、本地化等等屬于ASP.NET已有的東西。
[5]同時ASP.NET中的FORM驗證、Windows驗證、URL授權(quán)、Membership、角色、輸出、數(shù)據(jù)緩存、Session、Profile 狀態(tài)管理、配置、Provider框架等特性在MVC框架中仍然是可用的。
小結(jié):ASP.NET MVC 1.0框架是基于ASP.NET的,所以他包括了ASP.NET中的幾乎所有特性。同時他為設計人員提供了一套測試的方案(當然這是所有語言平臺MVC模式的共性)。在安裝了框架的VS2008中還增加了不少功能,可以方便地添加Views、Models、Controllers。
3、與三層結(jié)構(gòu)的ASP.NET應用程序比較
與普通ASP.NET比較而言,***的區(qū)別還是在于前臺開發(fā),后臺包括的數(shù)據(jù)庫訪問、邏輯處理與以往的方式?jīng)]有明顯區(qū)別,在MVC框架中,這些統(tǒng)稱為Model。而三層結(jié)構(gòu)中,這些可以稱為數(shù)據(jù)訪問層與邏輯處理層。
[1]頁面開發(fā)
用這種模式開發(fā)的站點,光看頁面的代碼的確比以往少一些,但它更多地使用了頁面腳本(<% ...="">)用于顯示數(shù)據(jù)。在指南中并未提到不推薦使用服務器端控件,但是它提供了大量的HTML HELPER,而且還允許你自己添加Helper,比如DataGridHelper,所以在MVC框架中使用這些Helper會更方便些,不過這對于熟練工來說應該影響不大,因為實際開發(fā)中我們更多使用的是Ctrl+C/Ctrl+V,復制幾個標簽和復制幾個Helper方法所花的時間差不多??赡軐τ谛率謥碚f,如果對標簽不熟悉的話,用這些Helper的速度會快些,但是這樣會影響新手掌握標簽,真是矛盾吶。
[2]數(shù)據(jù)提交
普通的ASP.Net開發(fā),在提交數(shù)據(jù)的時候可能還需要通過設置數(shù)據(jù)綁定,或者在code-behind里寫封裝代碼;而在MVC中,框架自動幫助你將頁面上填寫的數(shù)據(jù)封裝到事先指定的Model中,數(shù)據(jù)提交操作在MVC框架挺方便。而且在普通ASP.NET頁面中,經(jīng)常會出現(xiàn)某個屬性無法綁回去的情況,這點在MVC中應該可以得到解決。指南中提到了Routing的使用使得MVC框架下的應用程序在操作自定義查詢時變得更方便,實際上在查詢方面跟普通方式并沒有多大區(qū)別,都是對封裝好的類進行解析。至于“URL更容易理解”,現(xiàn)在應用程序都是從界面上點擊來實現(xiàn)操作,很少有人會關(guān)注URL本身吧,所以這個優(yōu)點不算優(yōu)點。
[3]單元測試
從測試上講,MVC框架確實做得不錯,若用MOCK方式測試可以更方便,一個好的WEB應用程序設計就應該將頁面呈現(xiàn)與邏輯分開,這點普通ASP.NET應用程序也是可以做到的,關(guān)鍵在于設計。
到此,關(guān)于“ASP.NET MVC1.0有哪些優(yōu)點”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。