iT邦幫忙

2021 iThome 鐵人賽

DAY 2
1
Modern Web

從實作學習ASP.NET Core - 30天的購物網站系列 第 2

【從實作學習ASP.NET Core】Day02 | MVC 的架構

  • 分享至 

  • xImage
  •  

MVC架構

MVC是軟體工程中的一種軟體架構模式,是基於關注點分離(seperation of concerns, SOC)的概念,把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。

當一個專案規模變大以後難免會有上千上萬行的程式碼,如果這些程式碼寫在一個檔案的話,對於後續開發和維護都會是一個很大的障礙,可能光是要找到問題點就需要花上大量時間成本,所以就衍生出了 MVC 架構把程式碼以功能歸類分類,把介面設計、商業邏輯和資料儲存切割出來,達到提升閱讀與方便維護的效果,也因此提升了團隊分工的成效:

  • Model:負責資料存儲,處理資料與資料庫之間的操作
  • View:負責前端畫面與邏輯顯示,就是使用者會看到的介面
  • Controller:負責商業邏輯處理,管控流程和回應,並以路由傳遞資料

互動邏輯

以使用者訪問程式為例:

  1. 使用者透過網址url向程式發出請求
  2. Controller 依照路由決定該做什麼
  3. Controller 透過 Model 向資料庫提取資料
  4. Model 把資料傳回 Controller 處理
  5. Controller 把處理好的資料傳給 View 做排版顯示
  6. View 回傳到瀏覽器給使用者看

專案目錄

.NET每個版本的目錄或多或少都有些差別,但核心東西沒有變:

  • Controllers、Models、Views 資料夾:我們程式的主角
  • appsettings.json:儲存環境變數的地方,例如資料庫連接字串
  • Startup.cs:程式的組態檔,服務需要從這邊註冊
  • Program.cs:程式的起始點

明天再來看看要怎麼實作 MVC 這三個東西吧!


上一篇
【從實作學習ASP.NET Core】Day01 | 前言與建立專案
下一篇
【從實作學習ASP.NET Core】Day03 | Controller 控制器
系列文
從實作學習ASP.NET Core - 30天的購物網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言