為什麼要使用ASP.NET呢?
首先MVC有以下幾個優點:
1.關注點分離 - 功能會被分成MVC三個部分,降低複雜度,提高開發速度
2.分層負責 - 功能明確切割,方便平行開發
3.自由操控html - 因為MVC不使用控制項,回歸到html、css、javascript,所以靈活度增加
4.方便使用套件 - 因為可以自由操控html,所以使用第三方套件變得非常方便
5.與設計溝通更直覺 - 不需要再將前端的html改成控制項
6.開放原始碼 - asp.net mvc是開放原始碼,代表如果有需要的話可以自行修改
7.行動裝置的支援度 - mvc4以後的版本有針對行動裝置有更好的支援
8.開發較簡單 - 不再有頁面生命週期,回到無狀態的網頁,透過http動詞來處理不同情況的動作
9.網頁流量低 - 取消ViewState,內建css、javascript綑綁和最小化機制和各種的helper可以降低資料傳輸量
再來看一下Google全球搜尋的趨勢圖,從2007年asp.net mvc開始推出preview版本,在2009年出現了黃金交叉,2009年推出1.0版本

MVC的流程:
1.Request首先進入到Controller
2.Controller與Model進行資料交換得到需要的資料
3.將資料傳給View做顯示用
4.如果View包含RenderAction的html擴充方法,會再依據需求跑一次Controller的流程
5.View處理資料搭配顯示邏輯後回應要求
MVC的生命週期:
瀏覽器送一個要求後,會被URL Routing接收,透過URL Routing比對對應的Controller,實體化Controller後,再進一步執行其中對應的Action方法,在Action方法內可能會需要和Model做交換資料,資料取完後經檢視申擎搜尋到匹配的view,將資料提供給view組合成html標記語言再回傳給瀏覽器,由瀏覽器視覺化呈現給使用者
MVC Modal:
1.DTO(Data Transfer Object;資料傳輸物件) - DTO是一個只有屬性的類別物件
2.POCO(Plain-Old CLR Object) - Poco可以用方法,來對資料進行驗證,還可以保留物件當下的狀態,DTO只能裝資料,無法保存狀態,多了資料驗證
MVC Controller:
一個Request進來時,會先解析url找到對應的Controller與action後與model互動,一個controller裡面可以有很多個action,不管有沒有跟model要資料,最後都會把結果傳給view
MVC View:
View透過action跟controller溝通,把拿到的model組成html格式
如果是grid的用foreach來多筆呈現
結論:
ASP.NET MVC跟傳統的Web From差異甚大,但就網站的可擴充性和自由度還有執行效能ASP.NET MVC是樂勝的,這項技術是值得投入資源去學習的:)
請先 登入 以發表留言。