ASP.NET Core – MVC 设计模式
ASP.NET Core – MVC 设计模式
MVC(模型-视图-控制器)设计模式是一种实际上已经存在了几十年的设计模式,它被用于许多不同的技术,从 Smalltalk 到 C++ 再到 Java,现在在 C# 和 .NET 中作为一种设计构建用户界面时使用的模式。
-
MVC 设计模式是一种流行的软件应用程序用户界面层设计模式。
-
在较大的应用程序中,您通常将模型-视图-控制器 UI 层与应用程序中的其他设计模式相结合,例如数据访问模式和消息传递模式。
-
这些都将一起构建完整的应用程序堆栈。
MVC 将应用程序的用户界面 (UI) 分为以下三个部分 –
-
模型– 一组描述您正在使用的数据以及业务逻辑的类。
-
视图– 定义应用程序的 UI 将如何显示。它是一个纯 HTML,它决定了 UI 的外观。
-
控制器– 一组处理来自用户的通信、整个应用程序流和特定于应用程序的逻辑的类。
MVC 背后的想法
现在让我们了解 MVC 背后的思想。
-
这个想法是您将拥有一个称为视图的组件,该组件单独负责呈现此用户界面,无论它应该是 HTML 还是实际上应该是桌面应用程序上的 UI 小部件。
-
视图与模型对话,该模型包含视图需要显示的所有数据。
-
在 Web 应用程序中,视图可能根本没有任何与之关联的代码。
-
它可能只有 HTML,然后是一些表达式,用于从模型中获取数据片段并将它们插入到您在视图中构建的 HTML 模板中的正确位置。
-
控制器组织一切。当 MVC 应用程序的 HTTP 请求到达时,请求被路由到控制器,然后由控制器与数据库、文件系统或模型进行对话。
在 MVC 中,控制器收到一个 HTTP 请求,控制器必须弄清楚如何将信息放在一起来响应这个请求。也许用户将浏览器定向到应用程序的 /books URL。所以控制器需要把这些信息放在一起显示一个图书列表。在这种情况下,控制器将构建一个模型。
-
该模型对 HTTP 请求或控制器一无所知。
-
该模型只负责保存用户想要查看的图书信息,以及与该图书列表相关的任何逻辑。
-
模型只是我们可以使用的另一个 C# 类,如果您有一个复杂的模型,您可能有多个类。
-
一旦模型组合在一起,控制器就可以选择一个视图来渲染模型。
-
视图将获取模型中的信息,如所有书籍和每本书的标题等,并将使用该信息构建一个 HTML 页面。
-
然后该 HTML 在 HTTP 响应中发送回客户端,整个 HTTP 请求和响应事务完成。
这些是 MVC 设计模式的基础知识,该模式背后的思想是保持关注点分离。所以控制器只负责接受请求并构建模型。它是将我们需要的逻辑和数据带入视图的模型。然后视图只负责将该模型转换为 HTML。