为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET MVC与WebForm的区别

ASP.NET MVC与WebForm的区别

守着星空守着你 2019-03-05 10:05:08
ASP.NET MVC与WebForm的区别
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

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很好的印证了生产关系必须适合生产力,即使强大如微软也无法改变客观规律。

查看完整回答
反对 回复 2019-03-14
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

webform 的一些缺点:
1.webfrom 使用的控件生成的html代码不太干净,会有些不想要的东西出现
2.webform 中页面的ViewState 过于沉重,使得WEB的性能上有一些影响
3.webform 不利于单元测试
mvc的一些优点:
层次架构更分明,适合做大中型项目。单元测试更方便。 生成的html代码干净整洁。MVC路由解决了页面静态化的一些需求。

查看完整回答
反对 回复 2019-03-14
?
慕沐林林

TA贡献2016条经验 获得超9个赞

WebForm是简单的窗体设计,前端在.aspx,后置代码.cs负责事件处理;MVC顾名思义就是分成了Model模型,View视图,Controller控制器三个部分,进行分工工作。对于大的项目开发,显然MVC更适合,总不能所有东西都让一个人来做吧,呵呵

查看完整回答
反对 回复 2019-03-14
  • 3 回答
  • 0 关注
  • 652 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信