正確認識WebForm與Asp.NET MVC

來源:互聯網
上載者:User

1.傳統WebForm開發中存在的一些問題

 傳統的ASP.NET開發中,微軟的Team Dev為開發人員設計了一個在視覺化設計工具中拖放控制項,編寫代碼響應事件的快速開發環境。然而,它所帶來的負面效應是: 

  •  由於控制項封裝了很多東西,開發人員很難瞭解這背後的HTML是如何運作的
  • 容易得到一個包含大量ViewState的頁面,使得頁面尺寸遠遠超過所需的內容,使得頁面的開啟速度較慢
  • 不容易被測試

2.什麼是MVC?

 MVC(Model-View-Controller,模型-視圖-控制器模式)是軟體工程中的一種軟體架構模式。它把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。

3.什麼是ASP.NET MVC?

ASP.NET MVC是微軟的Team Dev基於MVC開發的一個易於被測試的架構。它具有以下特性:

  • 沒有資料回傳
  • 沒有在頁面中儲存檢視狀態
  • 開發人員可以完全掌控頁面的呈現過程 
  • 易於單元測試
  • 易於測試驅動開發
  • 可擴充、可替換
  • 支援WebForm中的有關特性,如:使用者控制項、主版頁面、資料繫結、本地化等
  • 不在基於檔案目錄結構,而是將URL映射到控制器中

 

4. 為什麼使用ASP.NET MVC?

  • 易於進行單元測試
  • 易於進行測試驅動開發
  • 避免了WebForm中大量的ViewState導致分頁檔變得臃腫

5. MVC與三層架構?  

 

  • MVC是一種模式
  • ASP.NET MVC是一個基於MVC模式的開發架構
  • 三層架構是一種架構

至於區別,可以嚴格的從概念上區分開來。

是MVC與三層架構的對應關係

 

6. MVC與Webform如何抉擇?  

 

7. 兩種技術並存

  •  ASP.NET MVC架構只是給開發人員提供了開發web應用程式的一種選擇,並不是要取代Webform
  • 這兩種技術各有優缺點,開發人員需要根據實際情況,選擇對應的技術
  • 有時候,可以在同一個項目中混合使用這兩種技術

8.ASP.NET MVC與Webform技術的架構圖

 

 

總結:
看完本文,相信ASP.NET WebForm與ASP.NET MVC的選擇相信大家應該可以做到心中有數了,我始終覺得,很多時候並不是什麼技術好不好的問題,而是適合不適合不適合的問題或者能否把它用好的問題。
打個比方:如果讓千裡馬犁地,恐怕未必能達到理想的效果,最終可能還會抱怨,什麼破馬,一點勁都沒有。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.