什麼是 MVC 框架?

如何使用 UML 序列圖來表示它?

MVC(稱為模型-視圖-控制器)是軟件設計中的一種模式,通常用於實現用戶界面、數據和控制邏輯。它強調軟件的業務邏輯和表示之間的分離。這種“關注點分離”提供了更好的分工和更好的維護。

MVC 的三個部分

MVC軟件設計模式的三個部分  可以描述如下:

  • 模型:管理數據和業務邏輯。模型負責管理應用程序的數據。它接收來自控制器的用戶輸入。
  • View:處理佈局和顯示。視圖以特定格式呈現模型。
  • 控制器:將命令路由到模型和視圖部件。控制器響應用戶輸入並執行與數據模型對象的交互。控制器接收輸入,可選地驗證輸入,然後將輸入傳遞給模型。

例如,我們的購物清單可以包含允許我們添加或刪除商品的輸入表單和按鈕。這些操作需要更新模型,所以輸入被發送到控制器,然後控制器根據需要對模型進行操作,然後控制器將更新的數據發送到視圖。
但是,您可能只想更新視圖以以不同的格式顯示數據,例如,將項目的順序更改為字母順序,或將最低價格更改為最高價格。在這種情況下,控制器可以直接處理這個問題而無需更新模型。

MVC在軟件開發中的應用

MVC 框架已被許多軟件開發人員以及其他軟件框架和庫廣泛使用。傳統上用於桌面圖形用戶界面 (GUI),這種模式已成為設計 Web 應用程序的流行模式。

流行的編程語言都有 MVC 框架來促進模式的實現,比如 JavaScript、Python、Ruby、PHP、Java 和 C# 都有 MVC 框架,可以直接用於 Web 應用程序的開發。

如何使用 UML 序列圖來表示它?

在下面的通用MVC時序圖中,顯示了視圖對象負責用戶的輸入和輸出,即對話框就是視圖的一個很好的例子。控制器對象實現允許在模型上執行事務的邏輯。模型對象封裝了細粒度的業務邏輯和數據。

MVC 序列圖示例:酒店預訂片段

此序列圖示例顯示瞭如何進行酒店預訂。此序列圖通過顯示許多示例對像以及在這些對象之間傳遞的消息來捕獲單個酒店預訂場景的行為,如下圖所示:

相關 MVC 框架

其他一些設計模式都是基於MVC的,比如MVVM(Model View Model)、MVP(Model view Demonstrator)、MVW(Model view)


Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。