介紹

什麼是MVC?,MVC是一種”設計模式”,不是程式語言也不是一種框架。把應用程式架構區分為三個部分,分別為Model(模型)、View(視圖)和Controller(控制器)。

建立專案

建立專案時,在Visual C#選擇Web,然後選擇ASP.NET Web應用程式,如下圖:
Creat_Project

再來要選取範本,在這裡我們選取MVC,如下圖:
Create_ProjectMVC

Model

“資料模型”用於封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。 有關於資料處理的範圍都可屬於Model,例如:資料庫的存取操作(讀取、寫入)、資料結構的定義和資料格式的驗證…等。Model的資料夾呈現如下:
Model

View

在頁面上顯示或是經由頁面傳回後端都是View所負責,View的呈現分為輸出和輸入,輸出:把資料輸出並顯示到使用者介面上,輸入:把使用者所輸入的資料傳回到伺服器端。 有關於View的技術包含: 1.Html/CSS 2.JavaScript(JQuery, MoonTool, …etc) 3.JSON / XML 4.AJAX View的資料夾呈現如下:
View

Controller

控制整個系統的業務流程;以及依據制定好的規則進行對資料處理以及View的使用。 控制器接受外部傳入的資料並與Model進行資料處理,最後再由View回應外部的傳入並做顯示。 Controller的資料夾呈現如下:
Controller

ViewModel

顧名思義就是針對某些View的需求而產生的Model,專給View所用,通常一個ViewModel只給一個View使用。 通常會建立一個ViewModels的目錄來存放與管理。

開發方法

透過MVC分階段開發,如下:
1.Model -> Controller -> View
2.Model -> Respository -> Controller -> View
3.Model -> Respository -> Service -> Controller -> View
4.IOC/DI/AutoMapper/Unit Test/Integration Test
一開始先以1.MVC的方式開發,在之後慢慢加入其他的分層方式,可以從中體會分層的好處;我目前對於測試的部分,都還沒引入到專案中,也就是Unit Test和Integration Test,其他的都已加入到專案中使用。

在下一篇我們將加入Respository到專案。

程式碼已放上Github

參考資料:
http://kevintsengtw.blogspot.tw/2012/10/aspnet-mvc-part1.html