成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

技術高手講評ASP.NET MVC 1.0

開發 后端
為什么要用ASP.NET MVC 1.0?當剛知道1.0發布的時候,作者經常這樣問。本文會從作者的角度給出一些提示。

最近正在考慮是否在我們的企業級應用中使用ASP.NET MVC 1.0框架,因此會一直找使用它的理由,希望大家在關注技術的同時,結合企業應用談談自己的看法。

1、MVC的組成

Models:訪問數據庫,裝載數據、處理業務邏輯。在項目中體現為數據實體類加業務代理類。

Views:顯示數據,用戶界面。在項目中體現為aspx頁面,偶爾可以加上code-behind。

Controller:按路由規則將請求的數據傳送給指定頁面,用于顯示;也可以把用戶輸入的數據傳遞給邏輯處理類。它可以包含簡單的驗證邏輯。不應包含數據訪問邏輯。

2、為何使用MVC

提出MVC的目的無非是提高開發效率、提高可測試性。官方的ASP.NET MVC 1.0指南中指出(以下簡稱指南),基于MVC的Web應用程序有如下優點:

[1]對復雜的程序管理更方便

It makes it easier to manage complexity by dividing an application into the model, the view, and the ontroller.

[2]在開發上有更高的可控性

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]更加適合測試驅動開發

It provides better support for test-driven development (TDD).

[5]團隊開發項目中有更高的可控性

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導向規則、Action的參數序列等等。同時MVC框架也支持依賴注入和控制反轉,你可以從外部注入實例,而不用讓類自己創建實例,你還可以通過配置文件的方式創建實例,這樣使得測試更方便。

[3]強大的URL映射組件使得你的應用程序的URL更易理解,同時具備搜索能力。你的URL不必包括文件路徑,這樣的設計很適合自定義查詢引擎和REST架構。

[4]MVC框架仍然支持ASP.NET中的頁面、用戶控件、母版頁作為視圖的模板;同時你也還可以使用嵌套母版頁、行內表達式(in-line expressions<%= %>)、服務器端控件、模板、數據綁定、本地化等等屬于ASP.NET已有的東西。

[5]同時ASP.NET中的FORM驗證、Windows驗證、URL授權、Membership、角色、輸出、數據緩存、Session、Profile 狀態管理、配置、Provider框架等特性在MVC框架中仍然是可用的。

小結:ASP.NET MVC 1.0框架是基于ASP.NET的,所以他包括了ASP.NET中的幾乎所有特性。同時他為設計人員提供了一套測試的方案(當然這是所有語言平臺MVC模式的共性)。在安裝了框架的VS2008中還增加了不少功能,可以方便地添加Views、Models、Controllers。

3、與三層結構的ASP.NET應用程序比較

與普通ASP.NET比較而言,***的區別還是在于前臺開發,后臺包括的數據庫訪問、邏輯處理與以往的方式沒有明顯區別,在MVC框架中,這些統稱為Model。而三層結構中,這些可以稱為數據訪問層與邏輯處理層。

[1]頁面開發

用這種模式開發的站點,光看頁面的代碼的確比以往少一些,但它更多地使用了頁面腳本(<% ... %>)用于顯示數據。在指南中并未提到不推薦使用服務器端控件,但是它提供了大量的HTML HELPER,而且還允許你自己添加Helper,比如DataGridHelper,所以在MVC框架中使用這些Helper會更方便些,不過這對于熟練工來說應該影響不大,因為實際開發中我們更多使用的是Ctrl+C/Ctrl+V,復制幾個標簽和復制幾個Helper方法所花的時間差不多。可能對于新手來說,如果對標簽不熟悉的話,用這些Helper的速度會快些,但是這樣會影響新手掌握標簽,真是矛盾吶。

[2]數據提交

普通的ASP.Net開發,在提交數據的時候可能還需要通過設置數據綁定,或者在code-behind里寫封裝代碼;而在MVC中,框架自動幫助你將頁面上填寫的數據封裝到事先指定的Model中,數據提交操作在MVC框架挺方便。而且在普通ASP.NET頁面中,經常會出現某個屬性無法綁回去的情況,這點在MVC中應該可以得到解決。指南中提到了Routing的使用使得MVC框架下的應用程序在操作自定義查詢時變得更方便,實際上在查詢方面跟普通方式并沒有多大區別,都是對封裝好的類進行解析。至于“URL更容易理解”,現在應用程序都是從界面上點擊來實現操作,很少有人會關注URL本身吧,所以這個優點不算優點。

[3]單元測試

從測試上講,MVC框架確實做得不錯,若用MOCK方式測試可以更方便,一個好的WEB應用程序設計就應該將頁面呈現與邏輯分開,這點普通ASP.NET應用程序也是可以做到的,關鍵在于設計。

[4]其它

MVC框架在驗證、母版頁這些地方有幾個新特性,但與普通ASP.NET的方式大同小異,因此不仔細說了。

【編輯推薦】

  1. 微軟發布ASP.NET MVC框架1.0正式版(附下載地址)
  2. ASP.NET MVC歷史上十個版本回顧
責任編輯:彭凡 來源: 博客園
相關推薦

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-31 12:43:59

ASP.NET MVC

2009-07-20 10:53:59

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2010-06-23 15:44:03

ASP.NET MVC

2010-03-19 09:17:16

ASP.NET MVC

2009-07-24 11:33:12

MVC單元測試ASP.NET

2009-07-22 10:34:37

ActionInvokASP.NET MVC

2009-07-22 13:08:55

拯救UpdatePanASP.NET MVC

2009-04-01 11:05:10

微軟MVCASP.NET

2009-07-20 15:44:32

ASP.NET MVC

2009-07-22 10:13:31

異步ActionASP.NET MVC

2009-07-23 11:33:18

2009-07-29 09:17:12

jQuery刪除

2009-07-22 09:11:02

Action方法ASP.NET MVC

2009-04-01 12:00:43

ASP.NETMVC

2011-09-22 10:58:56

ASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区二区 | 国产精品99久久久久久宅男 | 日本免费一区二区三区 | 亚洲国产成人av好男人在线观看 | 天天操夜夜操 | 毛片免费在线 | 91免费观看国产 | 91精品国产综合久久久久久首页 | 久久久网 | 国产精品久久久久久久久 | 国产精品一区二区免费看 | 日韩av一区二区在线观看 | 欧美.com| 国产成人99久久亚洲综合精品 | 99小视频| 国内毛片毛片毛片毛片 | 久久久久久国产精品免费免费 | 午夜日韩精品 | 99精品视频在线 | 国产一区二 | 久久国产精品久久国产精品 | 99热在线免费 | 91高清视频在线观看 | 97av在线| 国产精品视频久久 | 网站黄色在线免费观看 | 成年人免费看的视频 | 爱草视频| 亚洲福利av| 国产精品久久 | 亚洲欧美男人天堂 | 国产激情视频在线 | 欧美精品中文字幕久久二区 | 2018国产大陆天天弄 | 久草免费在线视频 | 国产亚洲成av人在线观看导航 | 九色在线 | 天堂久| 欧美视频精品 | 亚洲精品一区二 | 精品国产不卡一区二区三区 |