框架层 java_简单就是美!浅谈java各层框架。

很久没有来过Jdon了,感觉陌生了许多,也许有人看了我的标题以为我是一个ROR的鼓吹手,其实,刚好相反,基于现在开发的现状,我觉得JAVA阵营有必要站稳阵脚,分析清楚技术的走向,毕竟都涉及到我们的饭碗前途问题。

之前有人问我这么几个问题:Java除了做Web还能做什么?Java做一个项目为什么要用这么多框架?问题没有标准答案,答案大家都比我清楚,这个我就不多说了。但是使我想到的是,的确,Java是越来越复杂了,JDK的速度发展惊人,之前的tiger 5.0,今年刚出炉的mustang 6.0,还有即将出台的dolphin.我越来越感叹Java程序员的辛苦。特别是面对众多的选择,有开源的,也有商业化成熟的产品,虽说框架工具不是重要,重要的是OO思想,设计模式,但实际操作起来,框架的选择还是十分重要的,如果项目开始选择错误的话,将会面临严重的成本的危机。由于我的能力和实际经验有限,先说说本人对JAVA各层框架的理解。

先从页面层说起,页面的技术五花八门,标准的Taglib和jsp,虽然说是工业标准,侵入性太强,却是累活,脏活,对前台设计十分不友好,一些前台设计师就发难了,说逻辑和页面混合起来,还怎么开发啊?于是才有了struts,webwork类的web框架MVC模式。听说Model Macth开源的Fastm项目在解决非侵入性方面非常棒,一直都找不到相关例子。页面层的工作通常是最多的,是面向客户的,所以现在一些RIA应用兴旺起来的根本原因是要最大程度地满足客户的需求。在这层Java阵营可以说是败了,UI开发不方便的同时,也没有VS.NET拖曳式开发的好处,既要对开发设计人员所见即所得,又要对客户展现富客户端的优势,这点我预测就是最近几年页面层技术发展的方向。

然后说Web层,Web层是最不好选的,但如果想支持一些RIA的应用,诸如Ajax,Flex,就只能用JSF。其他的框架各有优点,Struts成熟用户群大,有很好的标签库,而webwork用起来简捷方便,有利于TDD,适合用于小项目开发;tapastry很完美,可惜入手太难了。

再说业务逻辑层,选择视乎不是很多,要实现集群,负载均衡的用Ejb,

灵活轻便,面向测试的就选择Spring Framework.JBoss Seam和Jdon Framework没有用过,不过看起来也是很简便的。这层的核心是当前的主流IOC和AOP,相信大家也不会有所争议的。这里才是程序员真正关心的。可是跟逻辑业务无关的操作实在是太多了。

最后的OR层,Hibernate,Ibatis,Toplink,JPA,都是杰出的代表,是应用系统中最难的地方,涉及到DDD和OO,不能简单的以为做OR层就是分页+CRUD+缓存,提高性能和效率是OR层也就是持久化层的最终目的。

实现SOA不在我们程序员的目光内,对,它是必然趋势,但是是针对项目管理者的。SOA现在还离我们很远,只能静观其变。

Java也许它的使命就是解决复杂的应用,我们能从ruby,phython之类的语言学到什么吗?回归原点,项目的关键不在技术,而在于需求。我们不能再陶醉在JAVA的海洋里自我满足了,无论ROR,.NET里面也有很好的思想,它们也有庞大的社区,也有在前进。JAVA的优势是众多的组件,类库,框架可供选择,但怎样才能不让我们的优势不变劣势呢?这是我们要仔细思量的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值