看JDon论坛随感一篇——中国成功的开源项目在哪里?
看了这一贴 http://www.jdon.com/jive/thread.jsp?forum=62&thread=27279 和其他的一些贴后有感……
先引用一下BanQ总结的框架现状:
|
从我做项目一开始,就想要寻找一个好的框架来帮助完成项目,EJB、Spring、Struts、Jdon等等,自己的水平又很一般,也不可能每个框架拿来试,只能从各方面找用过的人发的贴子看,Jdon论坛上当然也有很多讨论,当时考虑到EJB(那时3.0还没出来)的复杂,听说Spring也不简单,呵呵……于是就选了Jdon这个短平快的,因为如果没有框架的话,就我们项目成员的水平也就是做假三层结构、伪J2EE的BS软件,所以第一、有个框架总比没有好,第二、不能太复杂难上手,一定要能尽快应付项目开发,最后选择使用了Struts+Jdon+Hibernate的框架。
可以这样说,使用了这么长时间后,感觉自己的J2EE开发才算是入门了。
Hibernate不错,使得开发很大程度地脱离了数据库,真正可以面向对象了,只要注意配置XML时的一些属性就好了,摸索出一套适合自己项目的配置方式就OK了,最主要就是many-to-one的配置方法,再就是lazy=false还是不设lazy,case-cade等方面。基本配好了,形成一套规范,之后再设计Model就容易多了,Model完成后复制一份做成Form类,呵呵……
接着就是DAO接口和DAO的实现,建议就定义最基本的增删改查和传SQL查就差不多够了,必要的时候定义传SQL更新和传SQL删除等。
接下来就是写Service接口和Service实现,跟DAO差不多,也都象是模板一样,照猫画虎即可,先写最基本的增删改查,以后再根据业务需要组织一些复杂的Service,在Service实现中调用Dao接口,有些方法可以重用Dao的接口,只需传入不同的SQL参数即可。
到此基本持久层和业务层就差不多了,再上面就是写Struts的Action,由于使用了Jdon的封装,很多基本的操作都无需写Action了,只要直接配置成ModelViewAction、ModelListAction或ModelSaveAction就可以了,再要有特别的操作,可以继承这些Jdon的Action,修改excute()方法即可,添加一些自己的操作然后再调用super.excute()。
总得来说,如果多做几个模块后,就基本可以掌握Jdon的使用了,而且持久层和业务层的代码非常规范化,项目也比较整齐,这其中重要的是将一些细节确定规范下来,全项目组的人员统一遵循。
正如 http://www.jdon.com/jive/thread.jsp?forum=61&thread=31159&message=23104101 这一贴所提,目前项目就是感觉在前台方面还不够舒服,使用了Struts中的Tiles技术,非常不错的技术,可以将整个网站的风格统一到模板上,同时各页面上的元素都可以做成类似“网页零件”的小JSP页面,这样不同的页面如果元素类似,只需拼装这些“零件”就可以了。我因为从事了几年网页设计制作工作,所以将整个项目的CSS逐级组织,达到即有统一风格,又可各栏目各页面变化。
然而即使这样,在表现层的开发还是感觉有点难过,其中有很大的一个原因也是人员方面,我们这个项目组中网页设计和制作人员很少,水平也一般,我觉得通常情况也是如此,大多数公司和项目组,是有程序员和设计师的,但中间却缺少所谓“表现层架构师”的角色,程序员不喜欢搞表现层的界面,认为那是设计的事,我实现了功能就OK,设计师不喜欢搞HTML、CSS、Javascript的事,看了代码就头晕……所以好象多数开发项目组这一环节总是鸡肋。再加上浏览器的软件和版本各式各样,开发人员通常不重视浏览器的兼容性,HTML和CSS等语言的容错性又导致大量的表现层代码非常不规范,可谓之混乱,许多的小问题,特别是客户提出的问题则通常集中到这个层面,结果是直接导致项目的表现不如人意,因为客户只可能看看你软件的表面实现的情况。
说了这么多,主要是想说Jdon框架总体上是非常不错的,我们看一个框架好不好,一方面从方向上来评判,即技术的前瞻性和科学性,这方面我觉得BanQ总结了很多文章,而且时刻关注着Java技术的最新动向,目前看IOC注入模式的应用、AOP状态拦截管理等都是先进的,同时Jdon也一再强调它的兼容性,可以和EJB共同使用,甚至也提到Jdon框架自身也是可以拆散和被替换的。这些也是当初选择JDon的原因之一,想着哪天真要是项目扩大了,需要分布式集群服务,也可以慢慢转到EJB上,呵呵……另一方面,好的框架就是用来使开发更容易同时决不牺牲规范性、扩展性等,所以Jdon在这方面也是很容易上手的,象我们项目组通过使用Jdon,大家对J2ee架构的多层概念有了更深的了解,再不是以前那种管他什么手段,只要实现功能就OK的开发思想了。一旦掌握了Jdon的使用,开发持久层和业务层都将是很容易的一件事,再特殊的就是要学会Jdon中的事务处理,这个俺还没找到方法,看了另一贴 http://www.jdon.com/jive/thread.jsp?forum=61&thread=31162 自己也没找到答案,不过我想问题不大的,因为是使用JTA的嘛。
最后,希望大家多多支持Jdon这个框架,我的感觉就是Jdon一直是靠 BanQ 一己之力在支持,没有形成一个开源项目的团队,大家不要象中国的旧传统中那样“文人相轻”,而是应该想法一起合作做出些真正有价值的事,即使目前Jdon由于BanQ一人精力的不足而无法更加完善,我们反而应该给予更多的帮助,而不是因此就说“你看你Jdon就是不如人家的什么什么吧?”。国外的很多开源项目和社区之所以成功,我想也是大家共同支持的结果,那么在中国我们就不能创建一个成功的开源项目,一个成功的开源社区吗?