图解ASP.NET MVC与WebForm的区别

开发 后端
在这里我们将通过图表的形式来介绍ASP.NET MVC与WebForm的区别,希望对大家了解ASP.NET MVC与WebForm有所帮助。

本文将为大家对比ASP.NET MVC与WebForm的区别,通过这种形式我们能更加了解ASP.NET MVC及其工作原理,也是为了令大家今后的开发工作更加方便,快捷。

1.传统WebForm开发中存在的一些问题

#T#

传统的ASP.NET开发中,微软的开发团队为开发者设计了一个在可视化设计器中拖放控件,编写代码响应事件的快速开发环境。然而,它所带来的负面效应是: 

由于控件封装了很多东西,开发者很难了解这背后的HTML是如何运作的

容易得到一个包含大量ViewState的页面,使得页面尺寸远远超过所需的内容,使得页面的打开速度较慢

不容易被测试

2.什么是MVC?

MVC(Model-View-Controller,模型-视图-控制器模式)是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

3.什么是ASP.NET MVC?

ASP.NET MVC是微软的开发团队基于MVC开发的一个易于被测试的框架。它具有以下特性:

没有数据回传

没有在页面中保存视图状态

开发者可以完全掌控页面的呈现过程 

易于单元测试

易于测试驱动开发

可扩展、可替换

支持WebForm中的有关特性,如:用户控件、母版页、数据绑定、本地化等

不在基于文件目录结构,而是将URL映射到控制器中

4. 为什么使用ASP.NET MVC?

易于进行单元测试

易于进行测试驱动开发

避免了WebForm中大量的ViewState导致页面文件变得臃肿

5. MVC与三层架构?  

MVC是一种模式

ASP.NET MVC是一个基于MVC模式的开发框架

三层架构是一种架构

至于区别,可以严格的从概念上区分开来。

下图是MVC与三层架构的对应关系

 

6. MVC与Webform如何抉择?   

7. 两种技术并存

ASP.NET MVC框架只是给开发者提供欧诺个了开发web应用程序的一种选择,并不是要取代Webform

这两种技术各有优缺点,开发者需要根据实际情况,选择对应的技术

有时候,可以在同一个项目中混合使用这两种技术

8.ASP.NET MVC与Webform技术的架构图

总结:

看完本文,相信ASP.NET WebForm与ASP.NET MVC的选择相信大家应该可以做到心中有数了,我始终觉得,很多时候并不是什么技术好不好的问题,而是适合不适合不适合的问题或者能否把它用好的问题。

打个比方:如果让千里马犁地,恐怕未必能达到理想的效果,最终可能还会抱怨,什么破马,一点劲都没有。

原文标题:正确认识WebForm与Asp.NET MVC

链接:http://www.cnblogs.com/wlb/archive/2009/12/07/1618954.html

【责任编辑:彭凡 TEL:(010)68476606】

 

责任编辑:彭凡 来源: 博客园
相关推荐

2009-08-24 09:18:34

ASP.NET MVC

2009-07-24 13:20:44

MVC框架ASP.NET

2009-03-13 10:58:48

ASP.NetMVC框架编程

2009-07-31 12:43:59

ASP.NET MVC

2013-03-29 10:21:23

ASP.NETAjax

2009-07-22 10:34:37

ActionInvokASP.NET MVC

2009-12-30 14:28:09

ASP.NET Web

2009-08-18 17:50:37

ASP.NET MVC

2009-07-20 15:44:32

ASP.NET MVC

2009-07-22 09:11:02

Action方法ASP.NET MVC

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入门教程

2009-07-20 10:53:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2024-12-05 08:14:41

2009-07-22 18:03:00

ASP.NET ASP

2009-07-20 15:51:40

FubuMVC核心框架ASP.NET MVC

2011-09-22 10:58:56

ASP.NET
点赞
收藏

51CTO技术栈公众号