ASP.NET Core - MVC 設計模式



MVC(模型-檢視-控制器)設計模式是一種已經存在了幾十年的設計模式,它已被用於許多不同的技術,從 Smalltalk 到 C++、Java,現在又在 C# 和 .NET 中作為構建使用者介面時的設計模式。

  • MVC 設計模式是軟體應用程式使用者介面層的一種流行設計模式。

  • 在較大的應用程式中,您通常會將模型-檢視-控制器 UI 層與應用程式中的其他設計模式結合起來,例如資料訪問模式和訊息傳遞模式。

  • 所有這些將共同構建完整的應用程式堆疊。

MVC 將應用程式的使用者介面 (UI) 分為以下三個部分:

  • 模型 - 一組描述您正在處理的資料以及業務邏輯的類。

  • 檢視 - 定義應用程式的 UI 將如何顯示。它是一個純 HTML,決定 UI 的外觀。

  • 控制器 - 一組處理來自使用者的通訊、整體應用程式流程和特定於應用程式的邏輯的類。

MVC 的理念

現在讓我們瞭解 MVC 背後的理念。

  • 其理念是,您將擁有一個名為檢視的元件,它完全負責呈現此使用者介面,無論它應該是 HTML 還是實際上應該是桌面應用程式上的 UI 小部件。

  • 檢視與模型對話,該模型包含檢視需要顯示的所有資料。

  • 在 Web 應用程式中,檢視可能根本沒有任何與之關聯的程式碼。

  • 它可能只有 HTML,然後是一些表示式,說明從模型中獲取資料片段並將它們插入到您在檢視中構建的 HTML 模板中的正確位置。

MVC
  • 控制器組織所有內容。當 HTTP 請求到達 MVC 應用程式時,請求會被路由到控制器,然後由控制器與資料庫、檔案系統或模型對話。

在 MVC 中,控制器接收 HTTP 請求,控制器必須弄清楚如何將資訊組合在一起以響應此請求。也許使用者正在將瀏覽器定向到應用程式的 /books URL。因此,控制器需要將資訊組合在一起以顯示書籍列表。在這種情況下,控制器將構建一個模型。

MVC Model
  • 模型不知道任何關於 HTTP 請求或控制器的知識。

  • 模型只負責儲存使用者想要檢視的書籍資訊以及與該書籍列表相關的任何邏輯。

  • 模型只是我們可以使用的另一個 C# 類,如果您有一個複雜的模型,您可能有多個類。

  • 一旦模型組合在一起,控制器就可以選擇一個檢視來呈現模型。

  • 檢視將使用模型中的資訊(例如所有書籍和每本書的標題等),並使用這些資訊來構建一個 HTML 頁面。

  • 然後,該 HTML 將在 HTTP 響應中傳送回客戶端,並且整個 HTTP 請求和響應事務完成。

這些是 MVC 設計模式的基礎知識,這種模式背後的理念是保持關注點的分離。因此,控制器只負責獲取請求並構建模型。模型承載我們需要放入檢視中的邏輯和資料。然後,檢視只負責將該模型轉換為 HTML。

廣告
© . All rights reserved.