WebForm与MVC比较

一直从事ASP.NET工作也不知不觉有近三年,到现在才觉得当初入大家所说是正确的(不断的学习,才能让自己不被知识所抛弃),之前一直采用 VS2003开发,三层架构居多.目前由于某些原因不得不再来不断的学习知识,也就是现在的VS2008 C#3.5,前两天花了点时间看了些基础的MVC的模型的东东,虽说不出与传统的三层架构的优劣势,但毕竟现在觉得他还是不错的,自己正在进一步的学习 中.也将一些有用的东西写下来,以便有时间来看看,可能有好多是从别处摘录,供学习.
下面的是摘录的一些MVC的知识
(一)WebForm与MVC比较
1.WebForm与MVC表现层模式比较

                                                                  View不能重用
                                                                  P与V关系密切

                                                                  View可以完全交给界面设计人员

                                                                    View可以重用

                                                                   C与V关系不紧密

                                                                    View完全交给界面设计人员有一定难度

 

2.WebForm优缺点分析

优点:快速上手、快速开发、强大的扩展机制

缺点:复杂的引擎、对于开发高性能的站点反而降低开发效率(解决ViewState、控件ID、换肤功能、SEO)

3.asp.net mvc优缺点分析

优点:

原生态url routing,便于url rewrite
Control与View完全分离,利于换肤且没有性能损失
便于对输出的html做完全的控制,利于精简代码及SEO
表现层的性能可以优化到极致
应用asp.net的master及去除控件的运行时特性,使用vs开发时将可以使用设计视图

缺点:

开发人员需要花时间熟悉这个新技术
现有代码移植到mvc需要一定时间
开发人员需要熟悉html以及css、JavaScript
开发人员需要摆脱在WebForm开发时对服务器控件种种依赖


(二)asp.net mvc介绍

1.mvc运行图



2.mvc详细请求流程



(1)用户发起一个url请求

(2)asp.net mvc framework通过url roueing rules找到一个处理该请求的Controller及Action
(3)Controller调用Model加载View需要的数据
(4)Model从数据库获取数据
(5)Controller把从Model取出的数据传输到View,然后由View负责对外呈现


(三)使用mvc注意事项

1.aspx、ascx、master依然可用,但是不再有postback模型,亦不会有页面生命周期及ViewState;

2.asp.net mvc框架将完全支持象forms/windows身份认证,URL授权,成员/角色,输出和数据缓存,session/profile状态管理,健康检测,配置系统,以及provider架构等现有的ASP.NET特性;

3.SBContext将不复存在;

4.XxxUrls Url集中管理类将不复存在;

5.所有依赖ViewState的控件将重新考虑设计或直接去除;

6.ResourceManager及相关控件需要调整

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/happy09/archive/2009/03/20/4008854.aspx

 

你可能感兴趣的:(webform)