如何使用 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)