想动就“动”,第1张

想动就“动”,第2张

只要你愿意,严肃的java也可以变得“动态”灵活。动有好处,静也有好处。俗话说“方圆无规矩不成方圆”,但“生命诚可贵,爱情价更高”。有空的话,两个都可以扔”。那么,作为在程序艺术的世界里忙碌的人,我们该何去何从呢?去动态语言阵营还是继续在稳定的Java领域打拼?在我看来,“动”或“不动”都需要一个黄金分割。

1.寻找“动”与“不动”的黄金分割

两年前,以马丁·福勒(Martin Fowler)为代表的一批高手,突然集体倒戈到动态语言阵营,手握“核武器”RoR,高呼摧毁Java,取而代之。现在回想起来,动态语言确实给我们带来了一些革命性的思想,但同时我们也发现我们被大师们愚弄了。

对于强类型Java语言来说,相对于真正的动态语言来说,确实要受限很多。在我看来,借用一个高手的比喻,Ruby的敏捷相当草书,而java是正楷。用Ruby,十个程序员写的程序就是十种风格,和写文章一样。而Java是个规规矩矩的微软优雅黑方字,横是横,竖是竖,先写哪一笔再写哪一笔,什么都有规定。强类型静态语言从语法底层建立了相对稳定的规则体系,因此更加规范。从长远来看,或者对于大型项目来说,它们必须是标准化的和严格的,这在可扩展性、可维护性等方面要好得多。比那些规格宽松的。

动态语言和强类型静态语言,各有特长。在企业应用领域,JavaEE的优势不是一天两天建成的。其实动态语言历史悠久,所以我觉得应该算是javascript。想想js,以前用asp写程序,用于服务器和客户端脚本。对于小应用来说确实很舒服。近两年,由于Ajax概念股的流行,javascript更加繁荣,prototype.js等一批Ajax框架和引擎将javascript的OO和动态特性发挥到了极致。对于凶神恶煞的RoR,在我看来,我们应该和php、Python这样的竞争对手好好PK几年,如果他们不毁灭它的话,再去研究“毁灭java需要多少光年”这个命题。

对于小型应用来说,一个小巧灵活简单的动态语言肯定会比主机有一定的优势。但是对于大型企业应用来说,动态语言的巧妙、灵活和随意性恰恰成为它的劣势。造成这种情况的原因不仅仅是能力有限(多核、线程、系统资源等。),也是限制其发展的“草”。事实证明,动态语言能做到的,我们用静态语言的一点大脑调整就能做到,比如Groovy;静态语言能做的,动态语言除非变成静态强类型语言,否则做不到,比如多核线程,两阶段分布式事务。如果他做到了,他可能不仅仅是一种动态语言。

动有好处,静也有好处。俗话说“方圆无规矩不成方圆”,但“生命诚可贵,爱情价更高”。如果是自由帮,可以两个都扔”。那么,作为在程序艺术的世界里忙碌的人,我们该何去何从呢?去动态语言阵营还是继续在稳定的Java领域打拼?

在我看来,“动”或“不动”都需要一个黄金分割。EasyJWeb之所以提供一些“动态”的特性,就是为了找到这样一个拆分点,分析权衡动态和静态的好处,进而让JavaEE应用开发变得更加容易。尽量找到这样的黄金分割,为一些非常好的动态特性和思想提供应用级支持,坚持推广应用一些必须标准化才能产生效率的特性。Java社区的很多人都在努力寻找这个分裂点。Java自己也意识到了这一点,它的新版本增加了对一些优秀的动态语言特性的支持。

当然,对于我们这些一直觉得“被约束、被限制”的人来说,在想“草”的时候,能够“动”一点,“草”两下,是一件很幸福的事情。所以EasyJWeb在Java这个标准化的平台和环境的基础上做了一些工作,让我们可以在一定范围内灵活地“动”,随便“草”,让我们可以放开手脚,轻松大胆地前进。这里有一些例子来说明。

2.不断变化的CmdAction-AbstractCmdAction

在新版本的EasyJWeb-.10中,命令类型的Action基类,即AbstractCmdAction,提供了足够灵活的特性,让你可以像密宗打拳一样编写Java Web Action。根据您不同的应用场景,您可以像编写动态语言一样编写实际的命令。

如果我们想在模块中执行名为create的操作,以下方法签名是合法的:

public Page doccreate(web form表单,模块Module)
public Page doccreate(web form表单)
public Page doccreate(模块Module)
public Page doc create();
public void doccreate(web form form,Module Module)
public void doccreate(web form form)
public void doccreate(Module Module)
public void doccreate();

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 想动就“动”

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情