`
javawebsoa
  • 浏览: 411666 次
社区版块
存档分类
最新评论

微软技术系列(WebForm补充)

 
阅读更多

前面关于webform的博文谈到了Webform的优缺点,但主要集中在性能和易操作性方面.虽然Webform是一次伟大的尝试,但总体上来讲,我觉得不是很成功.除了前面文章所提到的缺陷外,其实从架构和软件工程的角度来说,也是有其不足,甚至可以说是有些倒退的.我们知道,Webform还是基于BS基本架构:HTTP+HTML+JAVASCRIPT+CSS等技术,客户端的呈现是基于服务器端传来的脚本来解释执行的,是一种虚拟机架构风格(解释和基于规则),因此在系统可修改性,可动态升级,可工程化等方面都具有非常大的优势。而Webform的这种架构方式,多多少少与这种优势是相背的。

Webform是一种基于相对比较静态的html脚本输出方式,虽然也可以动态输出html元素,但在操作方面确实非常不变。非常典型的例子是做动态在线编辑,采用何种编辑控件是根据一些业务规则动态生成的,虽然也可以在服务端动态的产生地编辑控件,但会面临一个问题,如果你在load事件里创建控件,虽然可以输出到客户端,控件的状态也会进入ViewState里,但提交回来时,还需要重新产生这些控件,但这个时候新控件并不会自动具有原来控件的状态(无法体现Webform的自动状态管理的优势)。但如果你在初始化事件中创建这些控件,可以输出到客户端,提交回来也可以自动保持原来的状态信息。但问题是在初始化事件中,业务规则很难在这里实现,而且也不易动态改变。我们在进行业务单据的在线编辑开发中,对这种不便体会非常深,虽然最终可以实现,但实现起来感觉非常别扭,而且非常不利于重用和工程化(在BS架构中,动态输出Html控件元素是一种非常重要的手段,动态输出Html控件元素的应用可参考http://blog.csdn.net/hawksoft/article/details/8051420).

WebForm的这些缺点,也决定了其命运,我觉得后面会慢慢被MVC或其它更好的模式取代(其实现在被MVC模式取代的趋势就非常明显).

Webform最大优势就是简单,做一些对性能要求和动态交互要求不是很高,页面复用要求比较低的项目也还是非常方便.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics