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。
本文标题: Asp.Net Core MVC设计模式
本文地址:http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-design-pattern.html