1.傳統WebForm開發中存在的一些問題
傳統的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與三層架構?
1MVC是一種模式
1ASP.NET MVC是一個基于MVC模式的開發架構
1三層架構是一種架構
至于差別,可以嚴格的從概念上區分開來。
下圖是MVC與三層架構的對應關系
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwkzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5yMmRWOzgjY0cjZ1kzYlFGOidTZwUmZwcTM0QTOmVDOm9CXzAzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.jpeg)
6. MVC與Webform如何抉擇?
7. 兩種技術并存
·ASP.NET MVC架構隻是給開發者提供歐諾個了開發web應用程式的一種選擇,并不是要取代Webform
·這兩種技術各有優缺點,開發者需要根據實際情況,選擇對應的技術
·有時候,可以在同一個項目中混合使用這兩種技術
8.ASP.NET MVC與Webform技術的架構圖
總結: