從 WinForms 到 Web 之一:認識 MVC 架構
公司有一套已運行多年的內部管理系統,原本是 Windows Forms 應用程式,現在決定整個搬到 Web 平台;新系統起初以 ASP.NET MVC + Razor Page 為主架構,同時也有部分功能採用 Web API 的形式,形成了一種混搭的局面;這讓我開始思考這兩種做法的本質差異是什麼?在什麼情況下應該選哪一種?在討論這個問題之前,得先把 MVC 架構弄清楚。 MVC 是什麼? MVC 是一種將應用程式切分成三個層次的架構模式: Model:應用程式的核心,負責管理資料、業務規則與邏輯,獨立於使用者介面。 View:資料的視覺呈現,在 ASP.NET 中就是 Razor Page(.cshtml)。 Controller:中間協調者,接收使用者輸入、呼叫 Model 處理、再選擇適合的 View 回應。 這三層緊密協作,最關鍵的特點是:整個渲染過程發生在伺服器端,瀏覽器只負責顯示已經組好的 HTML。 瀏覽器 ──請求──▶ Controller ──呼叫──▶ Model(業務邏輯 + 資料存取) │ │ │ ▼ │ DB / Repository │ │ │◀────── 資料 ───────────┘ │ ▼ 傳遞資料 View(Razor Page) │ 瀏覽器 ◀──完整 HTML──┘ 用 ASP.NET Core MVC 來說明 一個典型的 MVC 流程如下: ...