ASP.NET MVC 初学者教程:什么是, Archi质地
什么是 ASP.NET MVC?
ASP.NET MVC 是一个开源的 Web 开发框架,来自 Microsoft 提供模型视图控制器架构。ASP.net MVC 为构建 Web 应用程序提供了 ASP.net Web 表单的替代方案。它是 .Net 平台的一部分,用于构建、部署和运行 Web 应用程序。您可以借助 HTML、CSS、jQuery 开发 Web 应用程序和网站, Javascript等等。
通过此 ASP.NET MVC 教程学习 MVC,该教程涵盖了初学者 MVC 的所有基本概念:
为什么选择 ASP.net MVC?
尽管网络表单非常成功, Microsoft 想到开发ASP.net MVC。 ASP.net webForms 的主要问题是性能。
在一个 Web应用程序,定义绩效的主要有四个方面:-
- 响应时间问题
- 单元测试的问题
- HTML 自定义
- 代码隐藏类的可重用性
ASP.net MVC 在上述参数上表现出色。
MVC 版本历史
ASP.NET MVC1
- 13 年 2009 月 XNUMX 日发布
- 它运行在.NET 3.5上
- Visual Studio 2008中
- 带有 WebForm 引擎的 MVC 模式架构
- 主要功能包括 Html & 单元测试、Ajax 助手、路由等。
ASP.NET MVC2
- 此版本于 10 年 2010 月 XNUMX 日发布
- 在.NET 3.5,4.0、XNUMX 上运行 Microsoft Visual Studio 2008中
- 包括模板助手、带有自动脚手架和可定制模板的 UI 助手等功能
- 它支持 DataAnnotations 属性在客户端和服务器端应用模型验证
ASP.NET MVC3
- 于 13 年 2011 月 XNUMX 日发布
- 在.NET 4.0、XNUMX 上运行 Microsoft Visual Studio中 2010
- N 的使用uGet 交付软件并允许您管理整个平台的依赖关系
- 更好 Java脚本支持、jQuery 验证和 JSON 绑定
- 它提供 Razor 视图引擎等功能;增强的数据注释属性,用于客户端和服务器端的模型验证
ASP.NET MVC4
- 此版本于 2012 年 XNUMX 月发布
- 它在 .NET 4.0、4.5 以及 Visual Studio 2010 和 Visual Studio 2012 上运行
- 默认项目模板的增强
- 提供使用 jQuery Mobile 的移动项目模板、异步控制器的任务支持、捆绑、缩小等功能。
ASP.NET MVC5
- 17 年 2013 月 XNUMX 日发布
- 在 .NET 4.5、4.5.1 以及 Visual Studio 2012 和 Visual OneASP.NET 上运行
- 支持 MVC 中的属性路由
MVC的特点
- 轻松且无摩擦的可测试性
- 完全控制你的 HTML, Java脚本和 URL
- 利用现有的 网络 产品优势
- ASP.Net 的新演示选项
- 一种更简单的 Asp.Net 编程方法
- 清晰的逻辑分离:模型、视图、控制器
- 测试驱动开发
- 支持并行开发
创建 MVC 应用程序时要记住的事项
以下是 ASP.NET MVC 教程中的一些有用内容,在创建 MVC 应用程序时您需要记住这些内容:
- 您需要记住,ASP .net MVC 并不是基于 ASP.Net Web 表单应用程序的替代品
- MVC 应用程序开发的方法必须根据应用程序要求和 ASP .net MVC 提供的功能来决定,以满足特定的开发需求。
- 与基于 Web 表单的应用程序相比,使用 ASP .NET MVC 的应用程序开发过程更为复杂。
- 通过应用程序任务的分离,应用程序的可维护性总是更高。
MVC 是一种遵循关注点分离方法的软件架构模式。在此模型中,.Net 应用程序分为三个相互连接的部分,称为模型、视图和控制器。
MVC 模式的目标是每个部分都可以被开发、相对独立地测试,也可以被组合起来以创建一个非常健壮的应用程序。
让我们详细了解一下它们:
型号
模型对象是应用程序的一部分,用于实现应用程序的逻辑 数据域。它检索模型状态并将其存储在数据库中。例如,产品对象可能从 数据库,对其进行操作。然后将信息写回到 SQL 服务器中的产品表中。
观看数
视图是用于显示应用程序用户界面 (UI) 的组件,在 MVC 中也称为视图模型。它显示根据模型数据创建的 .Net MVC 应用程序。
常见示例是项目表的编辑视图。它根据产品和对象的当前状态显示文本框、弹出窗口和复选框。
控制器
控制器处理用户交互、与模型协同工作并选择要呈现显示 UI 的视图。在 .Net MVC 应用程序中,视图仅显示信息,控制器使用 MVC 中的动作过滤器管理和响应用户输入和交互。
例如,控制器管理查询字符串值并将这些值传递给模型。
Web 窗体与 MVC
参数 | 网页发件人 | MVC |
---|---|---|
型号 | Asp.Net Web Forms 遵循事件驱动的开发模型。 | Asp.Net MVC 采用基于 MVC 模式的开发模型。 |
使用以来 | 自 2002 年起 | 它于 2009 年首次发布 |
支持视图状态 | Asp.Net Web Form 支持视图状态,用于客户端的状态管理。 | .Net MVC 不支持视图状态。 |
网址类型 | Asp.Net Web Form 具有基于文件的 URL。这意味着文件名存在于 URL 中,并且它们必须物理存在。 | Asp.Net MVC 具有基于路由的 URL,这意味着 URL 被重定向到控制器和操作。 |
句法 | Asp.Net MVC 遵循 Web 窗体语法。 | Asp.Net MVC 遵循可定制的语法。 |
视图类型 | Web 表单、视图与隐藏代码(ASPX-CS)(即逻辑)紧密耦合。 | MVC、视图和逻辑始终是分开保存的。 |
一致的外观和感觉 | 它具有主页以保持一致的外观。 | Asp.Net MVC 具有一致外观的布局。 |
代码可重用性 | Web 表单提供用户控件以实现代码可重用性。 | Asp.Net MVC 提供了部分视图以实现代码可重用性。 |
HTML 控件 | Less 控制呈现的 HTML。 | 完全控制 HTML |
状态管理 | 控制的自动状态管理。 | 手动状态管理。 |
TDD 支持 | 需要弱或定制的 TDD。 | 鼓励并纳入 TDD! |
ASP.NET MVC 的优点
- 默认情况下高度可维护的应用程序
- 它允许您替换应用程序的任何组件。
- 更好地支持测试驱动开发
- 由于模型、视图和控制器的划分,复杂的应用程序变得易于管理。
- 通过前端控制器模式提供强大的路由机制
- 通过消除视图状态和基于服务器的表单,可以更好地控制应用程序行为
- .Net MVC 应用程序由大量开发人员和 Web 设计师团队支持
- 它提供了对应用程序行为的更多控制。它还使用优化的带宽来处理对服务器的请求
ASP.NET MVC 的缺点
- 您无法看到像 .aspx 页面那样的设计页面预览。
- 您需要每次运行该程序才能查看其实际设计。
- 理解应用程序的流程可能具有挑战性
- 实现起来相当复杂,因此对于小型应用来说它不是一个理想的选择
- 学习 ASP.NET 的 MVC 很难,因为它需要对 MVC 模式有很深的理解
使用 ASP.Net MVC 的最佳实践
- 如果代码较大且复杂,请为 MODEL 创建单独的程序集,以避免出现任何不必要的情况
- 模型应该包括业务逻辑、会话维护、验证部分、数据逻辑部分。
- VIEW不应该包含任何业务逻辑和会话维护,使用ViewData来访问View中的数据
- 业务逻辑和数据访问不应该发生在 ControllerViewData 中
- 控制器只应负责准备和返回视图、调用模型、重定向到动作等。
- 创建应用程序时删除演示代码删除 AccountController
- 仅使用特定的视图引擎从您的视图创建 HTML 标记,因为它是 HTML 和编程代码的组合。
总结
- ASP.NET MVC 是一个开源 Web 开发框架,来自 Microsoft 提供一个 模型视图控制器架构.
- ASP.net MVC 为构建 Web 应用程序提供了一种 ASP.net Web 表单的替代方案。
- ASP.net webForms 的主要问题是性能。
- ASP.net MVC 提供简单且无摩擦的可测试性,并完全控制您的 HTML 和 URL。
- 您需要记住,ASP .net MVC 并不是基于 ASP.Net Web 表单的应用程序的替代品。
- MVC 应用程序开发或 ASP.NET MVC 生命周期的方法必须根据应用程序要求和 ASP .net MVC 提供的功能来决定,以满足特定的开发需求。
- ASP.NET MVC 默认提供高度可维护的应用程序。
- 使用 ASP.net 您无法看到像 .aspx 页面那样的设计页面预览。
- 作为最佳实践,模型应该包括业务逻辑、会话维护、验证部分和数据逻辑部分。