基于MVC的优点Advantages of an MVC-Based Web Application

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

  • 它很容易通过将应用程序划分为模型、 视图和控制器管理的复杂性。
  • 它不使用视图状态或基于服务器的窗体。这使得 MVC 框架特别适合开发人员想要完全控制应用程序的行为。
  • 它使用处理 Web 应用程序请求通过单一控制器前端控制器模式。这使您能够设计支持丰富的路由基础结构的应用程序。更多的信息,请参阅 MSDN 网站上的前端控制器
  • 它为测试驱动开发 (TDD) 提供了更好的支持。
  • 它非常适合 Web 应用程序支持的大型团队的开发人员和 Web 设计人员需要高度的控制应用程序的行为。

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

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

  • 它支持通过 HTTP,有利于业务线 Web 应用程序开发保留状态的事件模型。基于 Web 窗体的应用程序提供了许多支持数百个服务器控件的事件。
  • 它使用一种页面控制器模式,将功能添加到单个页面。更多的信息,请参阅 MSDN 网站上的页面控制器
  • 它使用视图状态或基于服务器的窗体,可以使管理状态信息更容易。
  • 它非常适合小团队的 Web 开发人员和设计师们想要利用大量的可用快速开发应用程序的组件。
  • 一般情况下,它是应用程序开发的复杂程度较低,因为组件 ( Page类、 控件和等等) 紧密集成,并且通常需要更少的代码比 MVC 模型。

ASP.NET MVC 框架的功能

ASP.NET MVC 框架提供了以下功能:

  • 分离的应用程序任务 (输入的逻辑、 业务逻辑和 UI 逻辑)、 可测试性和测试驱动开发 (TDD) 在默认情况下。在 MVC 框架中的所有核心合同是基于接口的可以测试通过使用 mock 对象,是模仿实际应用程序中的对象的行为的模拟的对象。你可以单元测试应用程序而无需运行控制器在 ASP.NET 进程,这使得单元测试既快速又灵活。你可以使用任何与.NET 框架兼容的单元测试框架。
  • 可扩展和可插入的框架。ASP.NET MVC 框架的组件设计以便他们可以方便地更换或自定义。您可以插入自己的视图引擎、 URL 路由策略、 操作方法参数序列化以及其他组件。ASP.NET MVC 框架还支持使用依赖注入 (DI) 和控制反转 (IOC) 容器模型。DI 允许您对象注入一个类,而不是依靠类来创建对象本身。IOC 指定某个对象是否需要另一个对象,第一个对象应该从配置文件之类的外部源中获取第二个对象。这使得测试更容易。
  • 强大的 URL 映射组件,允许您构建的应用程序具有可理解性和可搜索的 Url。Url 不必须包括文件扩展名,并旨在支持 URL 命名模式,工作的很好的搜索引擎搜索引擎优化 (SEO) 和具象状态传输 (REST) 处理。
  • 使用现有 ASP.NET 网页 (.aspx 文件),用户控件 (.ascx 文件) 和主页面 (.master 文件) 标记文件中的标记作为视图模板的支持。你可以使用现有的 ASP.NET 功能与 ASP.NET MVC 框架中,如嵌套母版页,线在表达式 (< %= %>),声明服务器控件、 模板、 数据绑定、 本地化和等等。
  • 对现有的 ASP.NET 功能的支持。ASP.NET MVC 允许您使用窗体身份验证和 Windows 身份验证、 URL 授权、 会员和角色、 输出和数据缓存、 会话和配置文件的状态管理、 健康监测、 配置系统和提供程序体系结构的功能。

这篇文章最初创建于 2009 年 1 月 27 日

原文:

Advantages of an MVC-Based Web Application

The ASP.NET MVC framework offers the following advantages:

  • It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.
  • It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
  • It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information, seeFront Controller on the MSDN Web site.
  • It provides better support for test-driven development (TDD).
  • It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior.

Advantages of a Web Forms-Based Web Application

The Web Forms-based framework offers the following advantages:

  • It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.
  • It uses a Page Controller pattern that adds functionality to individual pages. For more information, see Page Controller on the MSDN Web site.
  • It uses view state or server-based forms, which can make managing state information easier.
  • It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.
  • In general, it is less complex for application development, because the components (the Page class, controls, and so on) are tightly integrated and usually require less code than the MVC model.

Features of the ASP.NET MVC Framework

The ASP.NET MVC framework provides the following features:

  • Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default. All core contracts in the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.
  • An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports the use of Dependency Injection (DI) and Inversion of Control (IOC) container models. DI allows you to inject objects into a class, instead of relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This makes testing easier.
  • A powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.
  • Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.
  • Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms authentication and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, the configuration system, and the provider architecture.

This article was originally created on January 27, 2009

时间: 2024-10-13 21:28:37

基于MVC的优点Advantages of an MVC-Based Web Application的相关文章

MVC的优点及不足之处

1. MVC的优点 (1) 可以为一个模型在运行时同时建立和使用多个视图.变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步. (2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭.甚至在运行期间进行对象替换. (3) 模型的可移植性.因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作.需要做的只是在新平台上对视图和控制器进行新的修改. (4) 潜在的框架结构.可以基于此模型建立应用程序框架,不

基于 Dojo toolkit 实现 web2.0 的 MVC 模式

前言 MVC 模式是设计模式中的经典模式,它可以有效的分离数据层,展示层,和业务逻辑层.Web2.0 技术由于其良好的用户体验被广泛应用于 WEB 应用的展示层.但是在传统的 web 开发中,展示层的和业务逻辑层代码大量耦合,使得应用的可扩展性严重降低,同时页面层代码的可复用性也很低.本文用实例介绍,如何使用 dojo toolkit 扩展 dojo 的页面控件并实现 MVC 模式,有效的分离了展示层与业务逻辑层的代码,同时使得展示层代码可复用性大大提高. 第一部分:Dojo 构造 MVC 与传

基于 jQuery 的专业 ASP.NET WebForms/MVC 控件库!

目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策略(MVC5+EF6) [第四篇]ASP.NET MVC快速入门之完整示例(MVC5+EF6) [番外篇]ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6) 请关注三石的博客:http://cnblogs.com/sanshi 新建项目 打开VS2015,找到菜单项[文件->

MVC与设计模式的关系及MVC的实现原理和设计原理

1 MVC介绍 众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,应该说MVC它是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种:Observer (观察者模式), Composite(组合模式)和Strategy(策略模式).所以说MVC模式又称复合模式.MVC(Model-View-Controller) 模式的基本思想是数据,显示和处理相分离.模型(Model)负责数据管理,视图(View)负责数据显示,控制器(Controller)负责业务

Spring MVC 学习总结(一)——MVC概要与环境配置

一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务逻辑间的双向偶合.MVC不是一种设计模式,MVC是一种架构模式.当然不同的MVC存在差异. 在web早期的开发中,通常采用的都是Model1.Model1中,如图所示主要分为两层,视图层和模型层.Model2把一个项目分成三部分,包括视图.控制.模型.这样不仅提高的代码的复用率与项目的扩展性,且大大

Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架(注解模式哦)

首先感谢一下润和软件,指引我走上了Spring MVC Web开发的道路. 下面进入正题 搭建开发环境: Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.15 本次采用的Spring MVC Jar包如下: spring-aop-4.1.3.RELEASE.jar spring-beans-4.1.3.RELEASE.jar spring-context-4.1.3.RELEASE.jar spring-context-support-4.1.3.RE

[转] Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架

首先感谢一下润和软件,指引我走上了Spring MVC Web开发的道路. 下面进入正题 搭建开发环境: Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.15 本次采用的Spring MVC Jar包如下: spring-aop-4.1.3.RELEASE.jar spring-beans-4.1.3.RELEASE.jar spring-context-4.1.3.RELEASE.jar spring-context-support-4.1.3.RE

ASP.NET MVC升级到ASP.NET Core MVC踩坑小结

原文:ASP.NET MVC升级到ASP.NET Core MVC踩坑小结 写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大量的Break Changes,很多项目项目团队也不敢贸然升级,其中的考量也不全部是技术原因,更多的可能还是业务推进因素. 小编自年前开始考虑升级一套电商系统,原先是基于.NET Framework 4.5的,打算直接升级到

MVC 插件化框架支持原生MVC的Area和路由特性

.NET MVC 插件化框架支持原生MVC的Area和路由特性 前面开放的源码只是简单的Plugin的实现,支持了插件的热插拔,最近晚上偶然想到,原生的MVC提供Areas和RouteAtrribute等路由特性标签,按照先前的做法,无法解析插件的路由特性和Areas,所以花费了两个晚上的时间,把插件给改进到支持Areas和路由特性,但同时也放弃了Web类插件的热插拔,Func类的插件依然支持热插拔. 下面是实现支持插件使用Areas和路由特性标签的流程: 原生的MVC在启动的时候需要执行两条代