Klesh.Cn

concentrating on knowing more...

拜托,请别再阉割WebForm了

  WebForm的组件式开发思想,去到极致就是GridView,为啥?自动化程度,高;智能程度,高;代码重用度,高;开发效率,高!所以微软大大小小的DEMO都喜欢用它,拖一拖,拉一拉,写几行代码,一个完整表格就出来啦……。不过,当我们回到现实应用中,基本上它就是一个摆设,偶尔会用它来作一些烟雾测试。所以,抛弃不合用的控件,对WebForm来说,不会有什么区别,不会导致WebForm发生本质的变化。当需要提高对页面代码控制粒度的时候,依靠基础的Repeater/Literal来输出纯净的页面代码也是理所当然的事了。

  当完成一件事能用更简单基于只能用更简单的方式去做的时候,应该是一件自然而然的事才对。

  可是,当ViewState被切下来的时候,我就很惊奇了,失去了ViewState的WebForm,Postback自然也没什么意义了,那么,原本隐藏在WebForm后面的HTTP机制不是又暴露在用户面前?那么,还能像WinForm那样轻松地定阅处理各种事件吗?那么,WebForm所倡导的RAD理念呢?(千万别ignore理念这个词)

  接下来甚至于内联的写法也被提出来了,怎么说呢,既然是内联写法了,那HTML的细节也暴露无遗了吧?那如此这般的WebForm相对于MVC又有什么优点了?组件化没了,RAD没了,可视化也没了,那究竟什么是WebForm?难道说一个aspx + aspx.cs就可以说它是WebForm了?那这WebForm的定义也太宽太广了吧!真是相当地期待 ScottGu 站出来说一究竟什么是WebForm以平息这种乱局。

  被阉割了的WebForm相比之MVC究竟还有什么优势?对Web开发新手而言,门槛似乎比MVC高了吧?不仅仅是需要了解HTML、HTTP等这些相对低层的东西,就是WebForm开发方面根本就不会有太多阉割版WebForm的资料可以参考。若是对页面代码的控制粒度有那么高的话,何不放开怀抱去拥抱质的变化?我想MVC的倡导者原先也极有可能是阉割的WebForm,到了一定程度,阉割版的WebForm也满足不了需求的时候,质的变化就出现了,就是不肯拥抱变化的态度,才让我们总是跟在人家后面跑!

  WebForm比之MVC即有如男人之比女人,男人做事粗放但办事效率高,女人做事细致而繁琐。硬是要他们同质化最终只会不伦不类。唉,难道潮流就是流行这些中性的东西,像什么超女超男的……

  有PHP背景的界面人员也太不具代表性了,要是和广大开发人员合作的界面人员都有PHP背景,那世界就和谐了,那我们就是社会主义最终形态了!而且我就假装地球上的界面人员都有PHP背景了吧,用MVC的话你连什么组件都不用跟他讲了,直接告诉他我给你什么数据,你给我POST什么数据不就OK了?

  看了也许您会觉得我在说WebForm不如MVC似的,所以我要强调一下:不是男人比不上女人,只是不要让男人去干女人干的事!

  Separation of Concerns - 关注点分离,说到这一点,我感觉国内.NET社区还是少一种开放的态度,昨天看《自由》兄的一篇贴子,评论里有位同志提了一句“MVC/IoC/ORM的理念相似”,后面竟然有人回说“不知道mvc和ioc/orm的相似性在哪里...”然后还讲了很多,很无奈啊!理念这个词完全被ignored,我想请大家一定要互相尊重,认真地阅读他人的文字。

posted on 2007-12-25 12:44  Klesh Wong  阅读(4546)  评论(87编辑  收藏  举报

导航