為什麼要使用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全球搜尋的趨勢圖,從2007asp.net mvc開始推出preview版本,在2009年出現了黃金交叉,2009年推出1.0版本

MVC001

 

 

MVC的流程:

MVC008  
  

1.Request首先進入到Controller
2.Controller與Model進行資料交換得到需要的資料
3.將資料傳給View做顯示用
4.如果View包含RenderAction的html擴充方法,會再依據需求跑一次Controller的流程
5.View處理資料搭配顯示邏輯後回應要求

 

MVC的生命週期:

MVC002  

瀏覽器送一個要求後,會被URL Routing接收,透過URL Routing比對對應的Controller,實體化Controller後,再進一步執行其中對應的Action方法,在Action方法內可能會需要和Model做交換資料,資料取完後經檢視申擎搜尋到匹配的view,將資料提供給view組合成html標記語言再回傳給瀏覽器,由瀏覽器視覺化呈現給使用者

 

MVC Modal:

MVC003  

1.DTO(Data Transfer Object;資料傳輸物件) - DTO是一個只有屬性的類別物件

 

MVC004  

2.POCO(Plain-Old CLR Object) - Poco可以用方法,來對資料進行驗證,還可以保留物件當下的狀態,DTO只能裝資料,無法保存狀態,多了資料驗證

 

 

MVC Controller:

MVC005  

 

一個Request進來時,會先解析url找到對應的Controlleraction後與model互動,一個controller裡面可以有很多個action,不管有沒有跟model要資料,最後都會把結果傳給view

 

 

MVC View:

 

MVC006  

 

View透過actioncontroller溝通,把拿到的model組成html格式

 

 

 

MVC007  

 

如果是grid的用foreach來多筆呈現

 

結論:

ASP.NET MVC跟傳統的Web From差異甚大,但就網站的可擴充性和自由度還有執行效能ASP.NET MVC是樂勝的,這項技術是值得投入資源去學習的:)

 

 

 

創作者介紹
創作者 PISTI DESIGN 皮斯帝設計 的頭像
Leo

PISTI DESIGN 皮斯帝設計

Leo 發表在 痞客邦 留言(0) 人氣( 351 )