文章 "MVC 设计范式及其可能的应用"

 

新文章 MVC 设计范式及其可能的应用已发布:

本文讨论了一种流行的 MVC 范式,以及它运用在 MQL 程序中的可能性、优缺点。 这个思路是将现有代码拆分为三个独立的组件:模型、视图和控制器。

在本文中,我们将研究“经典 MVC”,没有任何复杂性或附加功能。 这个思路是将现有代码拆分为三个独立的组件:模型、视图和控制器。 根据 MVC 范式,这三个组件可以独立开发和维护。 每个组件都可由单独的开发团队开发,他们承担创建新版本,并修复错误。 显然,这可令整个项目的管理更加容易。 甚而,它能够帮助其他人理解代码。

我们来看看每个组件。

  1. 视图。 视图负责信息的可视化呈现。 在一般情况下,它向用户发送数据。 向用户呈现相同的数据,可以有不同的方式。 例如,数据可以同时用表格、图形或图表来呈现。 换言之,一个基于 MVC 的应用程序可以包含多种视图。 视图从模型接收数据,无需知道模型内部发生了什么。
  2. 模型。 模型包含数据。 它管理与数据库的连接、发送请求、并在不同的资源间进行通信。 如有必要,它会修改数据、验证数据、存储和删除数据。 模型无需知道视图如何操作,以及存在多少视图,但它拥有必要接口,能响应视图请求数据。 视图不能做任何强迫模型更改其状态的事情。 这部分是由控制器来执行。 在内部,一个模型可由若干其他模型组成,它们或按层次结构、或按等同操作来排列。 除了前面提到的限制之外,模型在这方面没有极限 — 模型的内部结构相对于视图和控制器始终保密。
  3. 控制器。 控制器实现用户和模型之间的通信。 控制器不知道模型如何处理数据,但它可以告诉模型更新内容的时间。 通常,控制器通过其接口操控模型,不必尝试了解其内部发生的事情。

MVC 范式的独立组件之间的关系可直观地表示如下:

作者:Andrei Novichkov