猿教程 Logo

Asp.Net Core MVC设计模式

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

MVC(模型 - 视图 - 控制器)设计模式是一个实际上已经存在了几十年的设计模式,它被用于许多不同的技术上,从Smalltalk到C ++到Java,现在在C#和.NET,在构建用户界面时被作为一种设计模式使用。

  • MVC设计模式是用于用户接口层的流行的设计模式。

  • 在更大的应用程序中,通常将模型 - 视图 - 控制器UI层与应用程序中的其他设计模式(如数据访问模式和消息模式)组合。

  • 这些都将一起去构建完整的应用程序堆栈。

MVC 的应用程序分成以下三个部分 −

  • 模型 - 描述您正在使用的数据与业务逻辑的一组类。

  • 视图 - 定义应用程序将如何显示的UI。 它是一个纯HTML,它决定了UI的外观。

  • 控制器 - 处理来自用户的请求,应用程序的总体流量和特定于应用程序的逻辑的一组类。


MVC基础

让我们现在了解MVC背后的想法。

  • 这个想法是,您将有一个称为视图的组件,它完全负责呈现此用户界面,无论它应该是HTML还是它实际上应该是桌面应用程序上的UI窗口部件。

  • 视图与模型对话,该模型包含视图需要显示的所有数据。

  • 在Web应用程序中,视图可能没有任何与其相关联的代码。

  • 它可能只有HTML,然后有一些表达式,从模型中获取数据片段,并将它们插入到您在视图中构建的HTML模板对应的位置中。


  • 控制器负责将一切组织起来。 当针对MVC应用程序的HTTP请求到达时,请求被路由到控制器,然后由控制器与数据库,文件系统或模型通信。

在MVC中,控制器接收到一个HTTP请求,控制器必须找出如何组合信息来响应这个请求。 比如用户正在将浏览器定向到应用程序的/books URL,那么控制器需要将信息放在一起以显示书籍列表。 在这种情况下,控制器将构建一个模型。


  • 该模型不知道任何关于HTTP请求或控制器的信息。

  • 该模型仅负责保存用户想要查看的书籍信息,以及与该书籍列表相关联的任何逻辑。

  • 该模型只是一个可以使用的C#类,如果你有一个复杂的模型,你可能需要有多个这种类。

  • 一旦模型放在一起之后,控制器就可以选择一个视图来渲染模型。

  • 视图将获取模型中的信息,如所有图书和每个图书标题等,并且它将使用该信息来构造HTML页面。

  • 然后,在HTTP响应中将该HTML发送回客户端,并完成整个HTTP请求和响应事务。

这些是MVC设计模式的基础,这种模式背后的想法是保持关注的分离。 因此,控制器只负责接收请求和构建模型。 它是将我们需要的逻辑和数据携带到视图中的模型。 然后视图只负责将该模型转换为HTML。

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-design-pattern.html