- ASP.NET Core 教程
- ASP.NET Core - 首页
- ASP.NET Core - 概述
- ASP.NET Core - 环境设置
- ASP.NET Core - 新建项目
- ASP.NET Core - 项目布局
- ASP.NET Core - project.json
- ASP.NET Core - 配置
- ASP.NET Core - 中间件
- ASP.NET Core - 异常处理
- ASP.NET Core - 静态文件
- ASP.NET Core - 设置 MVC
- ASP.NET Core - MVC 设计模式
- ASP.NET Core - 路由
- ASP.NET Core - 属性路由
- ASP.NET Core - Action 结果
- ASP.NET Core - 视图
- 设置 Entity Framework
- ASP.NET Core - DbContext
- ASP.NET Core - Razor 布局视图
- ASP.NET Core - Razor 视图启动
- ASP.NET Core - Razor 视图导入
- ASP.NET Core - Razor 标签助手
- ASP.NET Core - Razor 编辑表单
- ASP.NET Core - 身份验证概述
- ASP.NET Core - Authorize 属性
- 身份验证配置
- ASP.NET Core - 身份迁移
- ASP.NET Core - 用户注册
- ASP.NET Core - 创建用户
- ASP.NET Core - 登录和注销
- ASP.NET Core 有用资源
- ASP.NET Core - 快速指南
- ASP.NET Core - 有用资源
- ASP.NET Core - 讨论
ASP.NET Core - MVC 设计模式
MVC(模型-视图-控制器)设计模式是一种已经存在了几十年的设计模式,它已被用于许多不同的技术,从 Smalltalk 到 C++、Java,现在又在 C# 和 .NET 中作为构建用户界面时的设计模式。
MVC 设计模式是软件应用程序用户界面层的一种流行设计模式。
在较大的应用程序中,您通常会将模型-视图-控制器 UI 层与应用程序中的其他设计模式结合起来,例如数据访问模式和消息传递模式。
所有这些将共同构建完整的应用程序堆栈。
MVC 将应用程序的用户界面 (UI) 分为以下三个部分:
模型 - 一组描述您正在处理的数据以及业务逻辑的类。
视图 - 定义应用程序的 UI 将如何显示。它是一个纯 HTML,决定 UI 的外观。
控制器 - 一组处理来自用户的通信、整体应用程序流程和特定于应用程序的逻辑的类。
MVC 的理念
现在让我们了解 MVC 背后的理念。
其理念是,您将拥有一个名为视图的组件,它完全负责呈现此用户界面,无论它应该是 HTML 还是实际上应该是桌面应用程序上的 UI 小部件。
视图与模型对话,该模型包含视图需要显示的所有数据。
在 Web 应用程序中,视图可能根本没有任何与之关联的代码。
它可能只有 HTML,然后是一些表达式,说明从模型中获取数据片段并将它们插入到您在视图中构建的 HTML 模板中的正确位置。
控制器组织所有内容。当 HTTP 请求到达 MVC 应用程序时,请求会被路由到控制器,然后由控制器与数据库、文件系统或模型对话。
在 MVC 中,控制器接收 HTTP 请求,控制器必须弄清楚如何将信息组合在一起以响应此请求。也许用户正在将浏览器定向到应用程序的 /books URL。因此,控制器需要将信息组合在一起以显示书籍列表。在这种情况下,控制器将构建一个模型。
模型不知道任何关于 HTTP 请求或控制器的知识。
模型只负责保存用户想要查看的书籍信息以及与该书籍列表相关的任何逻辑。
模型只是我们可以使用的另一个 C# 类,如果您有一个复杂的模型,您可能有多个类。
一旦模型组合在一起,控制器就可以选择一个视图来呈现模型。
视图将使用模型中的信息(例如所有书籍和每本书的标题等),并使用这些信息来构建一个 HTML 页面。
然后,该 HTML 将在 HTTP 响应中发送回客户端,并且整个 HTTP 请求和响应事务完成。
这些是 MVC 设计模式的基础知识,这种模式背后的理念是保持关注点的分离。因此,控制器只负责获取请求并构建模型。模型承载我们需要放入视图中的逻辑和数据。然后,视图只负责将该模型转换为 HTML。