MVC3.0进阶——概述(二)

来源:互联网 发布:手机淘宝怎样买火车票 编辑:程序博客网 时间:2024/05/22 08:12
 

MVC 设计模式

         模型-视图-控制器 (MVC) 体系结构模式将应用程序分成三个主要组件:模型、视图和控制器。 ASP.NET MVC 框架提供用于创建 Web 应用程序的 ASP.NET Web 窗体模式的替代模式。 ASP.NET MVC 框架是一个可测试性非常高的轻型演示框架,(与基于 Web 窗体的应用程序一样)它集成了现有的 ASP.NET 功能,如母版页和基于成员资格的身份验证。 MVC 框架在 System.Web.Mvc 程序集中定义。

MVC 是许多开发人员熟悉的标准设计模式。 一些类型的 Web 应用程序将得益于 MVC 框架。 一些类型将继续使用基于 Web 窗体和回发的传统 ASP.NET 应用程序模式。 其他类型的 Web 应用程序将结合这两种方法;这两种方法彼此互不包含。

MVC 框架包括以下组件:

  • 模型。 模型对象是实现应用程序数据域逻辑的应用程序部件。 通常,模型对象会检索模型状态并将其存储在数据库中。 例如,Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL Server 数据库内的 Products 表中。

    在小型应用程序中,模型通常是概念上的分离,而不是实际分离。 例如,如果应用程序仅读取数据集并将其发送到视图,则该应用程序没有物理模型层和关联的类。 在这种情况下,数据集担当模型对象的作用。

  • 视图。 视图是显示应用程序用户界面 (UI) 的组件。 通常,此 UI 是用模型数据创建的。 Products 表的编辑视图便是一个视图示例,该视图基于 Product 对象的当前状态显示文本框、下拉列表和复选框。

  • 控制器。 控制器是处理用户交互、使用模型并最终选择要呈现的视图来显示 UI 的组件。 在 MVC 应用程序中,视图仅显示信息;控制器则用于处理和响应用户输入和交互。 例如,控制器处理查询字符串值,并将这些值传递给模型,而模型可能会使用这些值来查询数据库。

         MVC 模式可以帮助您创建使应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)分离的应用程序,同时可在这些元素之间提供松散耦合。 该模式指定每种逻辑在应用程序中应处的位置。 UI 逻辑位于视图中。 输入逻辑位于控制器中。 业务逻辑位于模型中。

何时创建 MVC 应用程序

        我们必须仔细考虑是使用 ASP.NET MVC 框架还是使用 ASP.NET Web 窗体模型来实现 Web 应用程序。 因为MVC 框架并未取代 Web 窗体模型,所以我们可以对 Web 应用程序使用任一框架。当我们在决定对特定网站使用 MVC 框架或 Web 窗体模型之前,请权衡各种方法的优点。

基于 MVC 的 Web 应用程序的优点

ASP.NET MVC 框架具有以下优点:

  • 通过将应用程序分为模型、视图和控制器,化繁为简的工作更加轻松。

  • 它不使用视图状态或基于服务器的窗体。 这使得 MVC 框架特别适合想要完全控制应用程序行为的开发人员。

  • 它使用一种通过单一控制器处理 Web 应用程序请求的前端控制器模式。 这使您可以设计一个支持丰富路由基础结构的应用程序。

  • 它为测试驱动的开发 (TDD) 提供了更好的支持。

  • 它非常适合大型开发人员团队支持的 Web 应用程序,以及需要对应用程序行为进行极度控制的 Web 设计人员。

基于 Web 窗体的 Web 应用程序的优点

基于 Web 窗体的框架具有以下优点:

  • 它支持通过 HTTP 保留状态的事件模型,这有益于开发业务线 Web 应用程序。 基于 Web 窗体的应用程序提供了在数百个服务器控件中受支持的许多事件。

  • 它使用页面控制器模式向单个页面添加功能。

  • 它针对基于服务器的窗体使用视图状态,这使得管理状态信息更加轻松。

  • 它非常适合想要利用大量组件快速开发应用程序的 Web 开发人员和设计人员的小型团队。

  • 通常,对于应用程序开发而言,它比较简单,这是因为组件(Page 类、控件等)紧密集成并且通常需要比 MVC 模型更少的代码。

原创粉丝点击