MVC和WEBFORM的比较
2016-07-27 22:18
176 查看
可以说各有优势:MVC纵向切割了开发过程中的代码,从服务器到浏览器层层分离,层次之间耦合度很低,因为它是顺着底层的开发脉络进行封装,所以有利于开发者对整个程序过程流转的理解。但是MVC有一个非常大的缺点,这个缺点是和整个软件发展思路相背离的,那就是它无法封装、无法封装所以无法被重用。有谁看到过mvc下面的组件?有的只是一个个现成的案例,然后拿来修改。因为一个组件肯定牵涉到控制和显示,但是mvc的开发这两个层次是分离的。MVC只适合轻量级的开发,桌面开发是极少用到mvc模式的。然而web开发恰恰就是轻量级,至今所有的web开发都是轻量级的,因为网络硬件条件的限制,不需要也无法做到非常复杂的逻辑。这也是MVC非常非常适合web开发的原因。
WebForm是微软前面一套web开发的机制。它横向切割了代码,控制和显示是封装在一起的。它从开发者思维逻
4000
辑上而不是实际情况上对代码进行封装,开发webform容易上手的原因也就在此了,但这个不利于开发者对底层程序流转机制的理解。WebForm中view和controller是放在一起的,WebForm一出现后,随之而来的是大量的组件诞生,这是mvc模式下看不到的。微软的经验之一是硬件发展很迅速。代码的封装是靠牺牲运行效率来提高开发效率,牺牲的运行效率通过提高硬件性能来解决。但微软在webform上犯了经验主义的错误,这个经验不适合网络硬件,网络硬件要考虑兼容性而且是国家的基础设施,更新的灵活性远比单机要差。大量的组件因为硬件的瓶颈无法给WebForm带来什么优势。在发展了几年webform后,微软觉得这样下去不行,等到网络硬件发展起来不知道到猴年马月了,所以就抄了一下成熟的mvc,通过Entity
Framework做数据库和对象的映射,很明显,它是为了充当mvc中那个Model。通过mvc来控制和展示。
webform生产关系是比mvc先进的,但是它不适合现在的网络设施生产力,如果要适合说不定要10年后。webform和mvc很好的印证了生产关系必须适合生产力,即使强大如微软也无法改变客观规律。
WebForm是微软前面一套web开发的机制。它横向切割了代码,控制和显示是封装在一起的。它从开发者思维逻
4000
辑上而不是实际情况上对代码进行封装,开发webform容易上手的原因也就在此了,但这个不利于开发者对底层程序流转机制的理解。WebForm中view和controller是放在一起的,WebForm一出现后,随之而来的是大量的组件诞生,这是mvc模式下看不到的。微软的经验之一是硬件发展很迅速。代码的封装是靠牺牲运行效率来提高开发效率,牺牲的运行效率通过提高硬件性能来解决。但微软在webform上犯了经验主义的错误,这个经验不适合网络硬件,网络硬件要考虑兼容性而且是国家的基础设施,更新的灵活性远比单机要差。大量的组件因为硬件的瓶颈无法给WebForm带来什么优势。在发展了几年webform后,微软觉得这样下去不行,等到网络硬件发展起来不知道到猴年马月了,所以就抄了一下成熟的mvc,通过Entity
Framework做数据库和对象的映射,很明显,它是为了充当mvc中那个Model。通过mvc来控制和展示。
webform生产关系是比mvc先进的,但是它不适合现在的网络设施生产力,如果要适合说不定要10年后。webform和mvc很好的印证了生产关系必须适合生产力,即使强大如微软也无法改变客观规律。
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- C# MVC模式下商品抽奖功能实现
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- MVC默认路由实现分页(PagerExtend.dll下载)
- ASP.NET MVC中的AJAX应用
- 为ASP.NET MVC及WebApi添加路由优先级
- ASP.NET MVC中图表控件的使用方法
- Asp.net mvc实时生成缩率图到硬盘
- 剖析ASP.NET MVC的DependencyResolver组件
- ASP.NET MVC下拉框联动实例解析
- ASP.NET MVC的四种验证编程方式
- ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法
- 利用ASP.NET MVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)
- 浅谈JavaScript前端开发的MVC结构与MVVM结构
- 仅30行代码实现Javascript中的MVC
- asp.net MVC利用ActionFilterAttribute过滤关键字的方法