- 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 - 行动结果
- ASP.NET Core - 视图
- 设置实体框架
- 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 - 授权属性
- 身份配置
- 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 模板内的正确位置。
控制器组织一切。当 MVC 应用程序收到 HTTP 请求时,该请求将被路由到控制器,然后由控制器与数据库、文件系统或模型进行通信。
在 MVC 中,控制器接收到 HTTP 请求,控制器必须弄清楚如何将信息组合在一起以响应此请求。也许用户正在将浏览器定向到应用程序的 /books URL。因此控制器需要将这些信息组合在一起来显示图书列表。在这种情况下,控制器将构建一个模型。
该模型对 HTTP 请求或控制器一无所知。
该模型仅负责保存用户想要查看的书籍信息,以及与该书籍列表相关的任何逻辑。
该模型只是我们可以使用的另一个 C# 类,如果您有一个复杂的模型,您可能会有多个类。
一旦模型组合在一起,控制器就可以选择一个视图来渲染模型。
视图将获取模型中的信息,例如所有书籍和每本书的标题等,并将使用该信息构建 HTML 页面。
然后,该 HTML 在 HTTP 响应中发送回客户端,整个 HTTP 请求和响应事务就完成了。
这些是 MVC 设计模式的基础知识,该模式背后的思想是保持关注点分离。因此控制器只负责接受请求并构建模型。它是将我们需要的逻辑和数据携带到视图中的模型。那么视图只负责将该模型转换为 HTML。