轉載ASP.NET MVC4入門1—ASP.Net的兩種開發方式
目前,ASP.NET中兩種主流的開發方式是:ASP.NET Webform和ASP.NET MVC。

WebForm的開發方式
• 服務器端控件
• 一般處理程序+Html靜態頁+Ajax
• 一般處理程序+Html模板
WebForm模型

WebForm 優點
1、支持事件模型開發。得益於豐富的服務器端組件,webfrom開發可以迅速的搭建web應用
2、使用方便,入門容易
3、控件豐富
WebFrom 缺點
1、封裝太強,很多底層東西讓我們初學者不是很明白
2、入門容易,提升很難
3、復雜的生命周期模型學習起來並不容易
4、控制不靈活
5、ViewState處理
ASP.Net MVC的開發方式
• 2009年第一個開源項目版本發布
• 更加簡潔,更加接近原始的“請求-處理-響應”
• 更加開發、更多的新的特點、社區活躍
• 不會取代WebForm
• 底層跟WebForm都是一樣的。管道上不同的處理而已
MVC是微軟2009對外公布的第一個開源的表示層框架,這是微軟的第一個開源項目
MVC目的不是取代WebFrom開發,只是web開發的另外一種選擇
為什么要學習ASP.Net MVC?
MVC架構模式誕生30年后,因為其提供的良好的松耦合、易於擴展、高可維護性等優點,重新在開發社區火起來。作為微軟全新的Web網站開發框架,ASP.NET MVC提供了全新的開發模式,完美支持經典的MVC架構模式。為.NET工程師提供了完全不同的開發體驗。
越來越多的公司和開發者開始加入到MVC開發模式中來,使他進入了一個高速發展的狀態,而現在MVC已經變成了ASP.NET下的一種常見的開發模式,它能讓你學習一種完全不同的架構,所以這是我們有理由也有必要掌握的一項開發技能。
ASP.Net MVC學習路線
要有C#、ADO.Net、html、javascript、ASP.Net WebForm的基礎
MVC簡介
MVC 模式兩種理解:一種是表現模式,另外一種是架構模式。這里我主要將其理解為表現模式。
它將應用程序分成三個主要組件即:視圖(View)控制器(Controller)模型(Model)
M:Model 主要是存儲或者是處理數據的組件Model其實是實現業務邏輯層對實體類相應 數據庫操作,如:
CRUD(C:Create/R:Read/U:Update/D:Delete)。它包括數據、驗證規則、數據訪問和業務邏輯等應用程序信息。ViewModel:視圖模型
V:View 是用戶接口層組件。主要是將Model中的數據展示給用戶。ASPX和ASCX文件被用來處理視圖的職責。
C:Controller 處理用戶交互,從model中獲取數據並將數據傳給指定的view

表現模式(UI/Presentation Pattern)三個角色
Model:用於存儲數據的組件
View:根據Model數據進行,內容展示的組件
Controller:接受並處理用戶指令(操作Model),選擇一個View並輸出內容
MVC請求模型

MVC優點
1、很容易將復雜的應用分成M、V、C三個組件模型。通過model、view和controller有效的簡化了復雜的架構,體現了很好的隔離原則
2、因為沒有使用server-based forms 。所以我們程序員控 制的更加靈活,頁面加干凈
3、可以控制生成自定義的url。對於seo友好的url更是不在話下
4、強類型View實現,更安全、更可靠、更高效。
5、讓web開發可以專注於某一層。更利於分工配合適用於大型架構開發
6、很多企業已經使用MVC作為項目開發框架,招聘明確要求熟悉MVC開發模式,我現在做的項目架構就是mvc+ef+wcf+…
MVC 代碼和頁面徹底分離,WebForm:codebehind技術沒有完全對代碼和前台頁面進行分離
個人的感覺:自從接觸了MVC,就再也不想拖控件了...
