ASP.NET 3.5MVC概述

來源:互聯網
上載者:User
文章目錄
  • 1.1 Web Forms開發難以調試
  • 1.2 ASP.NET 3.5 MVC開發易於測試
  • 1.3 兩種WEB開發技術並存
  • 1.1 MVC之間的相互關係
  • 1.2 ASP.NET 3.5 MVC架構的特點
為什麼使用ASP.NET 3.5 MVC架構1.1 Web Forms開發難以調試

       在傳統的ASP.NET應用開發中,微軟的Team Dev為開發人員設計了一個較為完整,基於Web Form的開發環境,使得構建Web應用相對容易,開發人員只需在一個可視化設計中拖放控制項,然後在表單中設定相關屬性即可;開發人員通過編寫代碼來響應事件,使得對於程式邏輯的操作也變的直觀。

      然而在Web Form中,微軟構建了一個複雜的引擎,從而給頁面的執行過程帶來了許多的負面效應。開發人員很難瞭解這背後的HTML是如何運作的,由於編程代碼與HTML語言共處於同一頁面,所以對於頁面設計人員來說非常不友好;同時,如果沒有合理控制ViewState的話,很容易得到一個包含大量ViewState的頁面,使得該頁面的尺寸遠遠超過所需的內容,最終頁面開啟的速度異常緩慢;隨著Web應用越來越複雜化,不容易測試也越來越成為實際應用開發中的棘手問題。

1.2 ASP.NET 3.5 MVC開發易於測試

      ASP.NET 3.5 MVC架構,避免了很多Web Forms所帶來的複雜性,沒有資料回傳,沒有在頁面中儲存檢視狀態,開發人員可以完全掌握頁面的呈現全過程,使用模型、視圖及控制器將Web應用劃分到不同的組件中,有利於開發人員與設計人員的分工,提高開發效率,同時也提高了程式的可維護性和擴充性,特別是有利於Web應用程式的測試,可以比較容易地實施測試驅動開發

1.3 兩種WEB開發技術並存

      ASP.NET 3.5 MVC架構只是給開發人員提供了開發WEB應用程式的一種選擇,而絕不是替代傳統的Web Forms技術,這兩種技術在不同的應用情境中,具有不同的優缺點,開發人員需要根據自己的實際情況,選擇對應的技術,甚至在同一個項目中混合使用這兩個技術

      ASP.NET 3.5 MVC架構與Web Forms技術的架構圖

          ASP.NET 3.5 MVC架構與Web Forms技術是建立在ASP.NET 3.5基礎上的兩種平行技術,是微軟今後同時發展的兩種Web開發技術,需要支援的.NET架構為3.5版本,並且還需要安裝SP1更新

基本概念

      MVC(Model View Controller)模式是一種較為廣泛應用的結構設計模式,MVC根據一般應用程式功能分為3個主要部門,分別是模型、視圖及控制器。

      ASP.NET 3.5 MVC架構基於MVC設計模式,並提供非常方便的測試功能,開發人員利用ASP.NET 3.5 MVC架構,藉助ASP.NET所提供的母板頁及成員管理等技術,可以開發擴充性高、測試容易的Web應用程式,是今後ASP.NET應用的另一個主要方向。

1.1 MVC之間的相互關係

      ASP.NET 3.5 MVC中模型、視圖及控制器之間的相互關係。

      當使用者輸入URL地址,獲得頁面的反饋結果,一般需要經過一下5個步驟

     (1)當用輸入URL地址,發送頁面請求時,實際上是向控制器發出相關的命令

     (2)控制器接收請求後,向模型請求獲得相關的資料 

     (3)模型將對應的資料返回給控制器

     (4)控制器將相關的資料發送到指定的視圖 

     (5)指定的視圖呈現被指定的資料

       從上述的步驟中可以看出,控制器在其中起著重要的作用,控制器不僅處理使用者的請求,還實現與模型之間的交換,對指定的視圖發送相關的命令,在實際的ASP.NET 3.5 MVC應用開發中,開發人員主要工作是實現控制器的編碼

1.2 ASP.NET 3.5 MVC架構的特點      1. 易於單元測試

         通過模型\視圖和控制器,很好的分離了使用者輸入邏輯、商務邏輯和介面顯示邏輯,因此非常容易實現Web應用程式的單元測試,開發人員還可以使用任何與.NET架構相容的其他測試方法。

      2. 容易實施測試驅動開發

     開發人員可以使用ASP.NET 3.5 MVC架構實施測試驅動開發,事實上,ASP.NET 3.5 MVC架構本身在開發過程中就是採用的測試驅動開發的

      3. 可擴充、可替換

      ASP.NET 3.5 MVC架構是可擴充的、可被替換的。ASP.NET 3.5 MVC架構中的組件可以被替換或者個人化,例如可以使用其他的視圖引擎、URL路由策略等。

      4. 支援Web Forms中有關特性

      ASP.NET 3.5 MVC中,強大的URL映射組件使得開發人員開發極其廣泛並且可搜尋URL的應用程式;在視圖模版中支援各種當前的Web Forms頁面(.aspx)、使用者控制項(.ascx)及母板頁(.master),還可以使用嵌套母板頁、內聯運算式、資料繫結、本地化等。

      5. URL被映射到控制器   

      在傳統的ASP.NET應用程式中,URL通常被映射為儲存在磁碟上一個檔案(例如.aspx檔案),而在ASP.NET 3.5MVC應用程式中,Url不再被映射為一個檔案,URL首先被映射到一個控制器類中,該控制器處理使用者的輸入,選擇適當的模型,獲得相關資料,然後調用視圖組件顯示指定的資料,並返回到使用者介面。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.