MVC(或模型-視圖-控制器)是一種流行的軟件框架,用於成功有效地將用戶界面與底層數據模型相關聯。由於編程語言 Smalltalk 在 1970 年代首次定義了 MVC 概念。
MVC 框架通常將應用程序視為具有三個主要層:表示 (UI)、應用程序邏輯和資源管理。在MVC中,表示層分為控制器和視圖。最重要的分離是表示和應用程序邏輯之間的分離。視圖/控制器拆分不那麼簡單。
換句話說,該模型包含:
視圖和控制器一起構成了用戶界面。更改傳播機制可確保用戶界面和模型之間的一致性。
模型-視圖-控制器模式提出了用於軟件開發的三個主要組件或對象:
MVC 框架已被許多軟件開發人員和其他軟件框架和庫廣泛使用。傳統上用於桌面圖形用戶界面 (GUI),這種模式已成為設計 Web 應用程序的流行模式。流行的編程語言,如 JavaScript、Python、Ruby、PHP、Java 和 C#,都有 MVC 框架,可直接用於 Web 應用程序開發。
在下面的通用 MVC 序列圖中,它顯示了負責用戶輸入和輸出的視圖對象,即對話框是視圖的一個很好的例子。控制器對象實現可在模型上執行的允許事務的邏輯。模型對象封裝了細粒度的業務邏輯和數據。
此序列圖示例顯示瞭如何進行酒店預訂。此序列圖通過顯示多個示例對像以及在這些對象之間傳遞的消息來捕獲單個酒店預訂場景的行為,如下圖所示: