笑傲JAVA江湖——乱弹AOP、IOC和AJAX

                                                               笑傲JAVA江湖
                                                ——乱弹AOP、IOC和AJAX
 
    从它诞生的那一天起,Java的江湖从来就没有平静过。2005年依然如此,不知不觉,在开源社区的开发语言的使用率上,Java已经悄悄的占据了第一的位置,张显着Java阵营的号召力。
     在这一年里,各种各样的Java技术层出不穷,往往是你方唱罢我登场,让人不禁眼花缭乱。其中唱得最响的无疑是这样的几种技术:AOP、IOC、AJAX。
     AOP初出江湖时,好像不可一世,根本不把盟主OOP放在眼里,只想取而代之而后快。但明眼人一看就知道了AOP的与生俱来的缺点:AOP是对方面的编程,需要对方面进行关注的只是系统的极小一个部分;而绝大部分却是需要OOP才能解决问题的。当年OOP一出,天下响应。在众望所归中取代面向过程的编程而一统江湖,但AOP却没有这样的本事。所以一年下来,AOP只能守在安全、权限、日志这样的一些角落苦苦的对抗着OOP,再也不复一统天下的豪情。
     OOP继续统治着江湖,但它也没有了往日一举击败面向过程后不可一世的威严,不得不给AOP留下一片地方。就像MS当初击败了IBM一样,是多么的意气风发,好像天下就在他们手中,但现在GOOGLE横空出世,让MS也不得不服气三分。
     IOC是JAVA江湖的又一个挑战者,它的矛头却是指向EJB。话说IOC年轻气盛,而且极为聪明,懂得柿子专挑软的捏的道理。为什么说EJB是一只软柿子呢?按说EJB天生不足,本来不会有像今天如此大的成就。但往往是时势造英雄,在2000年左右网络股泡沫的时候,那时候.COM公司有的是钱,而没有比EJB更好的技术来搭建商务网站。此时,MS的.NET还只是在酝酿,因此除了使用EJB没有更好的办法。
 现在网络泡沫破灭了,.NET也起来了。当然EJB的缺点就更加明显了:第一、容器过于庞大而不实用;第二、实体BEAN根本不是持久层的一个好的解决方案。所以在这个适当的时候,IOC就出来挑战了。评论家高举着:A J2EE WITHOUT EJB的口号,而IOC的实现SPRING高举AOP和IOC两大武器向EJB容器发起了进攻。
     一年过去了,EJB是在与IOC的战斗中节节败退。以至于在EJB3.0中引进了POJO,希望来改进自己的弱点以期守住阵地。EJB可以聊以自慰的是它在持久层的对手:JDO或HIBERNATE的日子也不好过,远远没有IOC风光,所以不知道在EJB3.0的出击下,EJB还能不能守住阵地呢?
     最后出来的是AJAX。要说AJAX大部分是表现层的东西,应该与JAVA江湖关系不大。但鉴于JAVA在WEB开发中的地位,所以AJAX要占领的也有很大一部分是JAVA的江湖,具体说是STRUTS的地位。
     对于JAVA开发人员来说,STRUTS及它所代表的MVC模式,就是WEB开发的圣经一样。但旧有的WEB开发模式有着很多的缺点,如页面刷新频率高、刷新速度慢、用户体验不好、难以做出复杂的UI等等。AJAX一出招,就对准了这些缺点,一招毙命。照道理说它能一统江湖,但它也有很多缺点:过多使用JS,使得代码的可读性差,开发速度慢。然后是无刷新也造成用户体验的问题,如用户不知道是否提交了请求等等。所以AJAX虽然来势凶猛,却遭到了很多评论家的反对。
     不管怎么说,AJAX都是让人眼睛一亮的技术。所以既然隆重登场了,即使不能彻底将旧的WEB开发模式打败,也应该和它平分江湖。
     对于我们开发人员来说,一句话,不能为了AJAX而AJAX,而应该把它用在它该在的地方。
阅读更多
个人分类: 乱弹琵琶
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭