转载ASP.NET MVC 和ASP.NET Web Form简单区别
转载原地址 http://www.cnblogs.com/lei2007/p/3315431.html
概论:
Asp.net 微软 提供web开发框架或者技术。分Web Form和ASP.NET MVC。下面简单说明各自优缺点及使用场景。
Web Form
优点:
1.支持丰富的服务器控件。如:GridView和ListView可以绑定数据,从而减少了大量的代码编写
2.支持视图状态,每个控件状态以“隐藏域”的形式存在当前表单页面来达到“有状态”,这就是ViewState
3.基于事件驱动编程, 如:click事件等,aspx页面与cs文件分离,即显示逻辑与处理逻辑分离,便于分工,美工 、编程。不像asp代码混乱
4.学习成本低
缺点:
1.站在项目架构的角度,web form 不是很理想架构模式,尽管可以使用经典的三层架构或者mvp,,但不是最优秀的。
2.性能 viewstate成功解决了asp问题,但同样引入新的问题,viewstate页面存储势必增加页面大小、降低程序性能
3.代码可重用性不好;缺少对并行开发支持,因为aspx页面与cs紧密耦合太高; Seo不友好,因为 url指定具体aspx页面;不利于单元测试,因为使用大量事件处理函数
ASP.NET MVC
Asp.net Mvc架构模式是一种 低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP.NET MVC不支持ViewState和服务器控件。
优点:
1.架构降低了程序间的耦合性,M V C,分层,目标明确
2.性能 不支持viewstate,完成html,已于结合jquery使用,提供程序性能
3.支持并行开发,可扩展性好,继承asp.net 特性:表单验证、缓存、会话等。
缺点:
没有viewstate和基于事件的编程,上手慢,学习成本高。
使用场景:
1. 快速开发------>web form
2. 单元测试、性能-------->mvc
3. 大量使用 js、jquery ------> mvc
4. 代码重用性------->mvc
以上结合团队成员技术水平,经验。