iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 2
0
Modern Web

ASP.NET MVC5架構說明與Q&A諮詢系統實作系列 第 2

[DAY2] MVC是什麼呢?

MVC是一種設計模式(Design Patterns - MVC Pattern)

MVC分別是:

  • Model(模型)
    • 是與資料庫溝通的地方
    • 應用程式中關於操作資料、處理資料之邏輯
    • 包含:資料庫表格的資料型態、值的範圍
  • View(檢視)
    • 用來顯示
    • 應用程式之介面(UI),就是網頁
    • 包含:HTML, CSS, Javascript ( jQuery )...等等
  • Controller(控制器)
    • 處理、回應使用者輸入、進行前後端互動
    • 應用程式的流程,決定呈現哪個 View 或是存取哪個 Model
    • 包含:透過路徑對照表,找到對應的 Action,這個 Action 會決定要做什麼事,可以把 Action 比喻為一個按鈕

以下是 MVC 的關係圖、文字說明(圖文並茂可能會比較好理解(๑•̀ㅂ•́)و✧
https://ithelp.ithome.com.tw/upload/images/20200915/20128969oyVBBN3cCl.png

  1. User Request: 使用者輸入網址,連接到應用程式伺服器
  2. Routing → Controller: 在路徑對照表上尋找連到 Controller 的哪個 Action
  3. Controller ↔ Model: 在這個 Action 可能會需要查閱「案件諮詢進度」,接著它就會去請 Model 幫忙查資料, Model 再把查到的資料回傳給 Controller / Action
  4. Model ↔ SQL: Model 本身並不是資料庫,但他可以幫你把使用者跟 Model 說的「人話」轉成資料庫看得懂的資料查詢語言(Structured Query Language,簡稱SQL),隨後 Model 取得資料庫裡的資料
  5. M → C → V: Controller / Action 從 Model 拿到資料,跟 View 借一下畫面,將資料編譯成 HTML ,讓使用者閱讀

  • MVC 有什麼優點呢?

    1. 架構獨立
      改變其中一個不會影響其他兩個,互不干擾
    2. 分工容易
      因為具有獨立性,所以分工上很容易,每個人可以專心開發各自負責的部分
    3. 擴充性高
      各個功能獨立、明確區分,讓系統有很高的擴充性
  • 有優點一定就有缺點 ლ(´•д• ̀ლ

    1. 資料眾多
      將軟體分成三個部分,資料量想必會較多
    2. 結構複雜
      開發前需花較多的時間規劃,開發時間較長
    3. 不適合小型專案
      資料量多、規劃時間長的特點較不適合小型專案

這次依系統需求、個人使用下來,覺得 MVC 的優點 >>> 缺點,
整體來說還是大/images/emoticon/emoticon37.gif


最後放一下ASP.NET MVC 與 MVC 之間的關係圖
(因為朋友問過我這兩個的差在哪兒,所以放圖解釋一下!)
https://ithelp.ithome.com.tw/upload/images/20200914/20128969B6pETvI683.jpg


上一篇
[DAY1] 為什麼會選擇 ASP.NET MVC5 製作系統呢?
下一篇
[DAY3] Visual Studio 安裝、建立 MVC 專案
系列文
ASP.NET MVC5架構說明與Q&A諮詢系統實作30

尚未有邦友留言

立即登入留言