ASP.NET MVC分層架構(1)-MVC
介紹
什麼是MVC?,MVC是一種”設計模式”,不是程式語言也不是一種框架。把應用程式架構區分為三個部分,分別為Model(模型)、View(視圖)和Controller(控制器)。
建立專案
建立專案時,在Visual C#選擇Web,然後選擇ASP.NET Web應用程式,如下圖:
再來要選取範本,在這裡我們選取MVC,如下圖:
Model
“資料模型”用於封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。
有關於資料處理的範圍都可屬於Model,例如:資料庫的存取操作(讀取、寫入)、資料結構的定義和資料格式的驗證…等。Model的資料夾呈現如下:
View
在頁面上顯示或是經由頁面傳回後端都是View所負責,View的呈現分為輸出和輸入,輸出:把資料輸出並顯示到使用者介面上,輸入:把使用者所輸入的資料傳回到伺服器端。
有關於View的技術包含:
1.Html/CSS
2.JavaScript(JQuery, MoonTool, …etc)
3.JSON / XML
4.AJAX
View的資料夾呈現如下:
Controller
控制整個系統的業務流程;以及依據制定好的規則進行對資料處理以及View的使用。
控制器接受外部傳入的資料並與Model進行資料處理,最後再由View回應外部的傳入並做顯示。
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到專案。
參考資料:
http://kevintsengtw.blogspot.tw/2012/10/aspnet-mvc-part1.html