圖解ASP.NET MVC與WebForm的區別
本文將為大家對比ASP.NET MVC與WebForm的區別,通過這種形式我們能更加了解ASP.NET MVC及其工作原理,也是為了令大家今后的開發工作更加方便,快捷。
1.傳統WebForm開發中存在的一些問題
#T#
傳統的ASP.NET開發中,微軟的開發團隊為開發者設計了一個在可視化設計器中拖放控件,編寫代碼響應事件的快速開發環境。然而,它所帶來的負面效應是:
由于控件封裝了很多東西,開發者很難了解這背后的HTML是如何運作的
容易得到一個包含大量ViewState的頁面,使得頁面尺寸遠遠超過所需的內容,使得頁面的打開速度較慢
不容易被測試
2.什么是MVC?
MVC(Model-View-Controller,模型-視圖-控制器模式)是軟件工程中的一種軟件架構模式。它把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。
3.什么是ASP.NET MVC?
ASP.NET MVC是微軟的開發團隊基于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的選擇相信大家應該可以做到心中有數了,我始終覺得,很多時候并不是什么技術好不好的問題,而是適合不適合不適合的問題或者能否把它用好的問題。
打個比方:如果讓千里馬犁地,恐怕未必能達到理想的效果,最終可能還會抱怨,什么破馬,一點勁都沒有。
原文標題:正確認識WebForm與Asp.NET MVC
鏈接:http://www.cnblogs.com/wlb/archive/2009/12/07/1618954.html
【責任編輯:彭凡 TEL:(010)68476606】