ASP.NET MVC与WebForm的区别

 我来答
depluin
2011-06-02 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2485万
展开全部
MVC纵向切割了开发过程中的代码,从服务器到浏览器层层分离,层次之间耦合度很低,因为它是顺着底层的开发脉络进行封装,所以有利于开发者对整个程序过程流转的理解。但是MVC有一个非常大的缺点,这个缺点是和整个软件发展思路相背离的,那就是它无法封装、无法封装所以无法被重用。有谁看到过mvc下面的组件?有的只是一个个现成的案例,然后拿来修改。因为一个组件肯定牵涉到控制和显示,但是mvc的开发这两个层次是分离的。MVC只适合轻量级的开发,桌面开发是极少用到mvc模式的。然而web开发恰恰就是轻量级,至今所有的web开发都是轻量级的,因为网络硬件条件的限制,不需要也无法做到非常复杂的逻辑。这也是MVC非常非常适合web开发的原因。
WebForm是微软前面一套web开发的机制。它横向切割了代码,控制和显示是封装在一起的。它从开发者思维逻辑上而不是实际情况上对代码进行封装,开发webform容易上手的原因也就在此了,但这个不利于开发者对底层程序流转机制的理解。WebForm中view和controller是放在一起的,WebForm一出现后,随之而来的是大量的组件诞生,这是mvc模式下看不到的。微软的经验之一是硬件发展很迅速。代码的封装是靠牺牲运行效率来提高开发效率,牺牲的运行效率通过提高硬件性能来解决。但微软在webform上犯了经验主义的错误,这个经验不适合网络硬件,网络硬件要考虑兼容性而且是国家的基础设施,更新的灵活性远比单机要差。大量的组件因为硬件的瓶颈无法给WebForm带来什么优势。在发展了几年webform后,微软觉得这样下去不行,等到网络硬件发展起来不知道到猴年马月了,所以就抄了一下成熟的mvc,通过Entity Framework做数据库和对象的映射,很明显,它是为了充当mvc中那个Model。通过mvc来控制和展示。
webform生产关系是比mvc先进的,但是它不适合现在的网络设施生产力,如果要适合说不定要10年后。webform和mvc很好的印证了生产关系必须适合生产力,即使强大如微软也无法改变客观规律。
信阳农夫
2011-06-06
知道答主
回答量:3
采纳率:0%
帮助的人:4754
展开全部
WebForm是简单的窗体设计,前端在.aspx,后置代码.cs负责事件处理;MVC顾名思义就是分成了Model模型,View视图,Controller控制器三个部分,进行分工工作。对于大的项目开发,显然MVC更适合,总不能所有东西都让一个人来做吧,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪国十八月
2011-06-02 · TA获得超过295个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:202万
展开全部
asp.net mvc不是webform的替代品,一般就是做大型网站类项目时候用的上,利于搜索引擎优化,下面有个链接,你把他看完就差不多了解了,我用过2.0版的,现在3.0都出来了.跟不上微软的步伐啊,呵呵
http://baike.baidu.com/view/1980463.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2018-07-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
webform 的一些缺点:
1.webfrom 使用的控件生成的html代码不太干净,会有些不想要的东西出现
2.webform 中页面的ViewState 过于沉重,使得WEB的性能上有一些影响
3.webform 不利于单元测试
mvc的一些优点:
层次架构更分明,适合做大中型项目。单元测试更方便。 生成的html代码干净整洁。MVC路由解决了页面静态化的一些需求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式