MVC(或模型-视图-控制器)是一种流行的软件框架,用于成功有效地将用户界面与底层数据模型相关联。由于编程语言 Smalltalk 在 1970 年代首次定义了 MVC 概念。
MVC 框架通常将应用程序视为具有三个主要层:表示 (UI)、应用程序逻辑和资源管理。在MVC中,表示层分为控制器和视图。最重要的分离是表示和应用程序逻辑之间的分离。视图/控制器拆分不那么简单。
换句话说,该模型包含:
模型(核心功能和数据)视图向用户显示信息。控制器处理用户输入。视图和控制器一起构成了用户界面。更改传播机制可确保用户界面和模型之间的一致性。
模型-视图-控制器模式提出了用于软件开发的三个主要组件或对象:
模型 (Model) 表示软件应用程序中数据的底层逻辑结构以及与之关联的高级类。此对像模型不包含有关用户界面的任何信息。视图 (View) 代表用户界面中元素的类集合(用户可以在屏幕上看到和响应的所有内容,例如按钮、显示框制器 (Controller) 代表连接模型和视图的类,用于模型和视图中的类之间的通MVC 框架已被许多软件开发人员和其他软件框架和库广泛使用。传统上用于桌面图形用户界面 (GUI),这种模式已成为设计 Web 应用程序的流行模式。流行的编程语言,如 JavaScript、Python、Ruby、PHP、Java 和 C#,都有 MVC 框架,可直接用于 Web 应用程序开发。
通用 MVC 序列图示例
在下面的通用 MVC 序列图中,它显示了负责用户输入和输出的视图对象,即对话框是视图的一个很好的例子。控制器对象实现可在模型上执行的允许事务的逻辑。模型对象封装了细粒度的业务逻辑和数据。
MVC 序列图 (Sequence Diagram) 示例:酒店预订片段
此序列图示例显示了如何进行酒店预订。此序列图通过显示多个示例对像以及在这些对象之间传递的消息来捕获单个酒店预订场景的行为,如下图所示:
相关UML图统一建模语言 (UML)
什么是UML?- Use Case Analysis — A Case Study
14 种 UML 图类型概述
Overview of Software Development Lifecycle (SDLC)
什么是类图?
什么是组件图?
什么是部署图?
什么是对像图?
什么是封装图?
什么是複合结构图?
什么是剖面图?
什么是用例图?
什么是活动图?
什么是状态机图?
什么是序列图?
什么是通信图?
什么是交互概览图?
什么是时序图
什么是 UML 协作图?