图解ASP.NET MVC与WebForm的区别

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

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

传统的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与三层架构的对应关系

图解ASP.NET MVC与WebForm的区别

6. MVC与Webform如何抉择?  

图解ASP.NET MVC与WebForm的区别

7. 两种技术并存

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

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

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

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

图解ASP.NET MVC与WebForm的区别

总结:

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

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

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

相关推荐