如何使用 UML 序列图对 MVC 框架进行建模?

MVC(或模型-视图-控制器)是一种流行的软件框架,用於成功有效地将用户界面与底层数据模型相关联。由於编程语言 Smalltalk 在 1970 年代首次定义了 MVC 概念。

MVC 框架通常将应用程序视为具有三个主要层:表示 (UI)、应用程序逻辑和资源管理。在MVC中,表示层分为控制器和视图。最重要的分离是表示和应用程序逻辑之间的分离。视图/控制器拆分不那麽简单。

换句话说,该模型包含:

  • 模型(核心功能和数据)
  • 视图向用户显示信息。
  • 控制器处理用户输入。

视图和控制器一起构成了用户界面。更改传播机制可确保用户界面和模型之间的一致性。

模型视图和控制器

模型-视图-控制器模式提出了用於软件开发的三个主要组件或对象:

  • 模型 (Model) 表示软件应用程序中数据的底层逻辑结构以及与之关联的高级类。此对像模型不包含有关用户界面的任何信息。
  • 视图 (View) 代表用户界面中元素的类集合(用户可以在屏幕上看到和响应的所有内容,例如按钮、显示框
  • 制器 (Controller) 代表连接模型和视图的类,用於模型和视图中的类之间的通

MVC 框架已被许多软件开发人员和其他软件框架和库广泛使用。传统上用於桌面图形用户界面 (GUI),这种模式已成为设计 Web 应用程序的流行模式。流行的编程语言,如 JavaScript、Python、Ruby、PHP、Java 和 C#,都有 MVC 框架,可直接用於 Web 应用程序开发。

通用 MVC 序列图示例

在下面的通用 MVC 序列图中,它显示了负责用户输入和输出的视图对象,即对话框是视图的一个很好的例子。控制器对象实现可在模型上执行的允许事务的逻辑。模型对象封装了细粒度的业务逻辑和数据。

MVC 序列图示例

MVC 序列图 (Sequence Diagram) 示例:酒店预订片段

序列图示例显示了如何进行酒店预订。此序列图通过显示多个示例对像以及在这些对象之间传递的消息来捕获单个酒店预订场景的行为,如下图所示:

序列图酒店示例


相关UML图统一建模语言 (UML)


<<:  以终为始

>>:  如何避免 MS-SQL 暴力登入攻击

使用 Effect Hook( Day17 )

上一篇介绍过 State Hook 用来储存状态,Effect Hook 则用来处理 functio...

连续 30 天 玩玩看 ProtoPie - Day 16

新的讲者在 Sky 工作,要来跟我们讲怎麽做有逻辑判断的互动设计。 这次会做三个范例: 判断两次密码...

区块链与物联网的两人三脚

我抠 我抠 我抠抠抠,"钱歹赚"的2022,我的每一分钱都打上9个结,为了生存时...

学习Python纪录Day28 - 在多文字档中搜寻关键字

在多文字档中搜寻关键字 第一层for回圈使用了os.walk()递回取得路径下的所有档案 第二层fo...

[day-27] U-net Experiments (3) - performance 2

前言 除了 EM segmentatation challenge 比赛之外,还有参加了另外一个比赛...