[ASP.NET MVC] 介紹

[ASP.NET MVC] 介紹

ASP.NET MVC

ASP.NET MVC Framework是微軟在ASP.NET中所添加的一組類別庫,這組類別庫可以使用Model-View-Controller的設計模式來開發ASP.NET的應用程式。
它與現有的ASP.NET應用程式並沒有衝突,所以兩者是可以並行的。
ASP.NET MVC Framework被包裝在System.Web.Mvc.dll中,並利用ASP.NET Routing來支援動作流以及URL Rewriting的能力,讓它可以更貼近Web的發展以及Web 2.0的特性。

 

什麼是 MVC ?

MVC不是程式語言或架構,而是一種設計模式。將程式架構分為Model、View、Controller三個部分,其中Model指的是資料或是業務邏輯元件View是呈現給使用者看的資訊,而Controller則是接取來自使用者的指令與資料,並將Model與View做整合的控制器

  • Model(模型 ) - 負責資料庫的存取(新增、修改、刪除)、資料結構的定義與資料格式的驗證。

  • View(檢視 ) - 介面設計人員進行介面設計,也就是前端寫HTML的地方。View需要負責將Controller傳遞過來的資料配合顯示邏輯呈現畫面。

  • Controller(控制器 )- 協調View與Model,負責轉發請求,對請求進行處理。因為View與Model無法直接溝通,所以當View需要顯示畫面時,需要經由Controller向Model取得資料後提供給View。

ASP.NET MVC 的流程圖

1.Controller 接收到要求後,向Model要資料

2.Model 將資料以商業邏輯與格式判斷整理後,回傳給 Controller

3. Controller 拿到資料後,將資料傳給View

4.View 將資料搭配顯示邏輯,回應要求,回傳畫面。

整個MVC的流程,就跟餐廳的送餐流程一樣,如下圖:

客人代表使用者

MENU代表View
服務生代表Controller

廚師代表Model

 

1.服務生看到客人,遞出MENU (USER瀏覽時,送出要求,ControllerView顯示於瀏覽器)

2.客人依照MENU,選擇餐點,向服務生點餐 (使用者進行操作後,Controller接收到要求)

3.服務生將客人點餐明細,送給廚師 (Controller依照要求,向Model要資料)

4.廚師將做好的菜,交給服務生 (Model將整理好的資料回傳給Controller)

5.服務生將菜交給客人 (Controller依照資料,呈現View)

 

ASP.NET MVC 的特點

關注點分離

切成 model-view-controller 三個部分,因此開發者只要專注於一個部分進行開發,降低程式的複查度與提升開發的速度。

習慣取代配置

ASP.NET MVC 中的習慣取代配置,像是Controller與Model的檔名必須以Controller或Model做結尾;View必須放在View目錄中;而View的名稱就是對應的Controller的Action名稱。

前端的HTML

ASP.NET MVC不像WebForm使用控制向,回歸到HTML、CSS、JavaScript,可以自由操作HTML。靈活度增加,使用第三方套件也變得更簡單。

 

以上是ASP.NET MVC的一些介紹,接下來將照著微軟的教學,一邊操作一邊學習。

 

 END 

回目錄