玩玩Spring之八卦MVC框架与 “中庸”之道 (二)

  看到这里很多人一定会疑问,在前一篇演示webwork应用的文章中,webowrk都快被捧上天了,而现在你又来推荐EasyJWeb,这不明摆着忽悠人吗?EasyJWeb这个轮子跟他们有什么区别及特色呢?
  要回答这个问题,说来有点话长,这得从我们中华民族儒家文化中的核心思想,“中庸之道”说起(中庸之道是本文中的一个主角,请大家鼓掌!)。“ 中庸者,以其记中和之为用也;庸,用也。孔子之孙子思作之,以昭明圣祖之德也。”-《中庸》郑玄注;《中庸》中有说:“ 天命之谓性,率性之谓道,修道之谓教”。怎么样,很多朋友看不懂是吧?谁叫咱们80后人注重素质教育,搞到连老祖辈的文化思想核心都搞不懂。若长此下去,恐怕三、四十年后,咱们的后辈都将会看不懂也听不懂中文了。

  什么是中庸?这里我用通俗点的语言看能不能解释一下。 我认识一位大伯,他以前是知识分子,但他因为他的知识而坐了10年牢,于是他把他儿子从小就带进了我们贵州最穷的山区里面,如今儿子变成了文盲。另外我还听说有一个人本来住在南极的,但后来他说南极太冷了,他要搬到北极去住,到了北极他才发现其实北极跟南极一样的冷。为什么会这样,因为他们不懂中庸。

  再说现实一点,好比我们的有些朋友,刚出学校的时候什么都敢想、敢做,但在社会中若打拼一两年,经历了一些挫折或失败后,就歇菜了。“梦想”、“激情”、“脚踏实地”可能被人利用过,我们可能因此会犯错、吃亏,但那是“人”的错,不是“梦想”、“激情”、“脚踏实地”本身的错,
我们不能因此就变得没有梦想、没有激情、投机取巧、处处设防,做人得学会中庸。

  还是没明白,对吧?那么说到Java技术上来就是不要因为有了类(Class)的存在可能会破坏我们面向对象编程的精华,所以你就把类(Class)从Java中消除,而只保留接口(Interfaces)。同样的道理, 你不能因为Struts的action中的那四个讨厌的参数看起不爽,你webwork就把它们全部去掉,一个不留。其结果就是过分的简洁、高雅造成了很多新人的都无法理解及领悟其中妙处的尴尬处境。为了给页面传一个参数得翻遍大大小的接口API说明文档。本来一个简单的MVC你却暗藏那么多华丽的机关,跟我们这些平庸的程序员玩起捉迷藏,有必要吗?有时还得学学人家ASP、PHP,就那么简单的几条语句,还不一样搭建起了一栋栋赏心悦目的高楼大厦吗?这应该也算是很多Struts粉丝不喜欢webwork的一个原因吧。

  可以这么说,EasyJWeb的做法恰好就是得益于这个我们中华民族所独用的中庸思想,即要保持一定的技术先进性(什么[I]OC、[A]OP、OX、拦载器等值钱的我们通通都要!呵呵),又要照顾广大的普通代码“水泥”工人的应用及理解方便。
 
  很多人说,"Spring framework 的作者真正明白我们程序员需要什么,关心什么。",这里我想说, 真切希望像EasyJF一样的众多国产开源团队能真正明白我们中国的程序员需要什么,关心什么。多学习国内外优秀的开源技术,多融入一些国内民族文化思想及思维习惯。多创造点实实在在,能真正提高软件生产力的东西。
  
  玩得有点疯了哈,收敛一下。借着这阵吹Spring的风,笔者作为EasyJWeb开发团队成员之一,借机给大家 正式的介绍一下EasyJWeb这个开源项目。
   EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架旨在借鉴当前主要流行的开源Web框架(Struts、JSF、Tapestry 、Webwork),吸取其优点及精华,利用Velocity作为模板页面引擎,实现一个页面及代码完全分离的MVC开发框架。旨在构建一个能实现中小型Web应用系统快速开发的简易Web框架。
  根据EasyJWeb团队的设想,这个“轮子”并不仅仅是简单地简化了一些常见框架中的不必要环节,把Struts、Webwork、Tapestry等框架中的一些精华功能进行简单拼凑,其核心的是EasyJWeb Tools代码生成工具及业务引擎构想部分,若能实现这些构想的话将会大大提高通用软件的开发效率。
  虽然已经有了很多基于EasyJWeb开发的完整应用源码在网上下载,然而EasyJWeb当前还处于测试版,还有很多不足。 第一个正式版本计划于2006年7月中旬有望发布,其作为一个开源项目,非常希望能得到国内众多技术前辈的支持及指教,若有发现框架中的不足,还请大家不吝给我们提出批评及建议,当然要是您有时间加入进来一起开发、改进那就更加求之不得了
 
 ( 备注:由于笔者不想拐弯抹角浪费大家玩的时间,有些“表白”难免过于直接,还请不喜欢Spring或者过分喜欢Spring的同行多多见谅! 本文中的“我们”,仅指与笔者有着同样成长经历的80后人,对于文章提到的观点,多数皆属于笔者个人观点,不代表任何人。
  本文作者: EasyJF开源团队 大峡 欢迎转载,转载请保留作者声明,谢谢!)

你可能感兴趣的:(spring,框架,mvc,struts,Webwork,八卦)