天天看点

正确认识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与三层架构?

1MVC是一种模式

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

1三层架构是一种架构

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

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

正确认识WebForm与Asp.NET MVC

6. MVC与Webform如何抉择?

7. 两种技术并存

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

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

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

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

正确认识WebForm与Asp.NET MVC

总结: