MVC 框架初学者教程:什么是 Archi结构与实例

什么是 MVC 框架?

波长 XNUMXμm 的 模型-视图-控制器 (MVC) 框架是一种架构模式,它将应用程序分为三个主要逻辑组件模型、视图和控制器。因此缩写为 MVC。每个架构组件都是为处理应用程序的特定开发方面而构建的。MVC 将业务逻辑和表示层彼此分离。它传统上用于桌面图形用户界面 (GUI)。如今,Web 技术中的 MVC 架构已成为设计 Web 应用程序和移动应用程序的流行选择。

MVC 的历史

  • MVC 架构于 1979 年由 Trygve Reenskaug 首次提出
  • MVC 模型于 1987 年首次在 Smalltalk 编程语言中引入。
  • MVC 第一次作为一个通用概念被接受是在 1988 年的一篇文章中
  • 近年来,MVC 模式在现代 Web 应用程序中被广泛使用

MVC的特点

  • 简单、无摩擦的可测试性。高度可测试、可扩展和可插拔的框架
  • 使用 MVC 模式设计 Web 应用程序架构,可以完全控制 HTML 和 URL
  • 利用 ASP.NET、JSP、Django 等提供的现有功能。
  • 逻辑清晰分离:模型、视图、控制器。应用程序任务的分离即。业务逻辑、UI逻辑、输入逻辑
  • 针对 SEO 友好 URL 的 URL 路由。强大的 URL 映射,可实现易于理解和搜索的 URL
  • 支持测试驱动开发 (TDD)

MVC Archi质地

以下是MVC框架的详细架构:

MVC Archi质地
MVC Archi结构图

三个重要的 MVC 组件是:

  • 模型:包括所有数据及其相关逻辑
  • 视图:向用户呈现数据或处理用户交互
  • 控制器:模型和视图组件之间的接口

让我们详细了解一下这个组件:

首页

视图是应用程序中表示数据的部分。

视图由从模型数据收集的数据创建。视图请求模型提供信息,以便将输出呈现给用户。

视图还表示图表、图解和表格中的数据。例如,任何客户视图都将包含所有 UI 组件,如文本框、下拉菜单等。

控制器

控制器是应用程序中处理用户交互的部分。控制器解释用户的鼠标和键盘输入,并通知模型和视图进行相应的更改。

控制器向模型发送命令以更新其状态(例如,保存特定文档)。控制器还向其关联的视图发送命令以更改视图的呈现(例如滚动特定文档)。

型号

模型组件存储数据及其相关逻辑。它表示在控制器组件或任何其他相关业务逻辑之间传输的数据。例如,控制器对象将从数据库中检索客户信息。它操纵数据并发送回数据库或使用它来呈现相同的数据。

它响应视图的请求,也响应控制器的指令来更新自身。它也是模式的最低级别,负责维护数据。

MVC 示例

让我们看一下日常生活中的模型视图控制器示例:

例子1

MVC 示例

  • 假设你去餐厅吃饭。你不会去厨房准备食物,因为在家里你肯定可以做这些。相反,你会去那里等服务员过来。
  • 现在服务员来找你,你点菜。服务员不知道你是谁,也不知道你想要什么,他只是记下了你点的菜的详细信息。
  • 然后,服务员移至厨房。在厨房里,服务员不会准备您的食物。
  • 厨师为您准备食物。服务员会收到您的订单以及您的桌号。
  • 然后做饭给你准备食物。他使用配料来烹饪食物。假设您点了一份蔬菜三明治。然后他需要面包、西红柿、土豆、辣椒、洋葱、比特、奶酪等,这些都是他从冰箱里买来的
  • 厨师最后将食物交给服务员。现在服务员的工作就是把这些食物移出厨房。
  • 现在,服务员知道您点了哪些食物以及如何提供这些食物。

在这个 MVC 架构示例中,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

让我们再看一个 MVC 模型示例,

例子2

MVC 示例

汽车驱动机制是MVC模型的另一个例子。

  • 每辆车都由三个主要部分组成。
  • 视图=用户界面:(变速杆、面板、方向盘、刹车等)
  • 控制器-机制(引擎)
  • 型号-储存(汽油或柴油箱)

汽车通过发动机运行,从存储中获取燃料,但它仅使用提到的用户界面设备运行。

流行的 MVC Web 框架

这里列出了一些流行的 MVC 框架:

MVC 的优点: 主要优点

以下是使用 MVC 架构的主要好处:

  • 代码维护简单,易于扩展和增长
  • MVC模型组件可以与用户分开测试
  • 更轻松地支持新类型的客户
  • 各种组件的开发可以并行进行。
  • 它通过将应用程序划分为三个单元来帮助您避免复杂性。模型、视图和控制器
  • 它仅使用前端控制器模式,通过单个控制器处理 Web 应用程序请求。
  • 提供最佳支持 测试驱动的开发
  • 它非常适合由大型网页设计师和开发人员团队支持的 Web 应用程序。
  • 提供干净的关注点分离 (SoC)。
  • 搜索引擎优化 (SEO) 友好。
  • 所有类和对象都是彼此独立的,因此您可以单独测试它们。
  • MVC 设计模式允许将控制器上的相关操作逻辑分组在一起。

使用 MVC 的缺点

  • 难以阅读、更改、单元测试和重用此模型
  • 框架导航可能有些时间复杂,因为它引入了新的抽象层,这要求用户适应 MVC 的分解标准。
  • 没有正式的验证支持
  • 数据的复杂性增加和效率低下
  • 将 MVC 与现代用户界面结合使用的困难
  • 需要多个程序员进行并行编程。
  • 需要多种技术的知识。
  • Controller中大量代码的维护

3层 Archi架构与 MVC Archi质地

产品型号 3层 Archi质地 MVC Archi质地
外场通讯 这种类型的架构模式从不直接与数据层通信。 所有层都使用三角形拓扑直接通信。
用法 3 层:广泛用于 Web 应用程序,其中客户端、数据层和中间件在物理上独立的平台上运行。 通常用于在单个图形工作站上运行的应用程序。

总结

  • MVC 是一种架构模式,它将应用程序分为 1) 模型、2) 视图和 3) 控制器
  • 模型:包括所有数据及其相关逻辑
  • 视图:向用户呈现数据或处理用户交互
  • 控制器:模型和视图组件之间的接口
  • MVC 架构于 1979 年由 Trygve Reenskaug 首次提出
  • MVC 架构 Java 是一个高度可测试、可扩展和可插入的框架
  • 一些流行的 MVC 框架有 Rails、Zend Framework、CodeIgniter、Laravel、Fuel PHP 等。