WebForm是一个快速可视化的web程序开发技术。跟VB一样,几乎是相同的开发模式,只需要简单的拖拽已经封装好的控件到窗体设计器上,VS就会在Behind Code(aspx.cs)生成相应的代码,开发人员只要在生成的事件框架中写入自己需要的业务逻辑或者数据显示转换等就可以快速的实现某一功能。
简单快捷,尤其是对于我们这种从VB过渡过来的同学们,感觉简直是福音,无论横向对比竖向对比,让我们的感觉很是似曾相识,很容易上手,但是慢慢也会发现它很多不容忽视的问题。
我们开发常常说的一句话就是要降低耦合度,WebForm这种开发模式在开发的前期会给我们带来很爽的快感,但是,后期就会为了适应它而不断的做出妥协,最终出现越来越多的负面效果。
WebForm中的aspx.cs 文件永远不能与aspx文件分离开来。换句话说,我们不能轻易的将aspx.cs和aspx组合到一起,Behind Code 和视图紧紧关联在一起,不能被复用。
WebForm在使用过程中不知不觉的就给人一种面向过程的感觉,整个开发过程好像不会涉及什么类或者抽象之类的东西,界面好了然后添加控件在控件之后写好代码貌似整个系统就差不多个样子了,没有一点面向对象的感觉。
当我们给用户一个Response时,其实包含View 和 Data 两部分。WebForm是一个视图优先的框架,所以它很难灵活的切换最终呈现给用户的视图,不仅如此,视图还要负责调用逻辑处理的代码,这完全违背了单一职责原则。
WebForm很多东西都是写死的,界面可控性比较差。
微软推出的另一个框架MVC很大程度上完善了WebForm的弊端。
MVC是一个基于行为的架构,使用MVC架构后,终端用户发送它的请求到Web服务器,服务器将其指定给Controller,Controller找到一个对应的Action进行处理,然后Action有两件事要做,第一根据需要访问Model获取数据,然后再将获取的数据传递给合适的View,最终将View发送给终端用户的浏览器。
WebForm的最大优势就是可视化快速开发,即使现在我们看起它来是那样的繁琐和不堪入目,但它确实能够将你的程序开发速度加快。
MVC和WebForm 两个开发框架,其实没有什么优劣之分,重点在于用在哪里,什么时候用,just---“变是永远不变的”
原文地址:http://blog.csdn.net/linxi1209163com/article/details/44853247