对Jdon的评价

刚才浏览了Jdon的开发步骤,觉得这个框架的侵入性太高了,程序对框架的依赖性比较强,个人觉得不太适合,比如,很多类都要继承或实现框架中的类或接口,那么写的程序脱离了框架还能有很好的扩展性吗?

你的这个意见已经不只一次提出,其他也提出,关于侵入性这个问题,其实有了annotation可以很好解决,但是annotation也是一个代码,你移植到另外一个框架和环境下,annotatio也要导入或修改,除非都遵循同样标准annotatio,这就是EJB了。

所以,没有标准情况下,过分追求侵入性,是理想境界,我们的程序可以在不同数据库 和JavaEE服务器之间移植,但是目前还做不到无缝在框架之间移植,这是对框架本身定义的误解,框架是模式的化身,模式是和代码融合在一起的,是代码的灵魂,没份代码软件都有其不同的灵魂,就象每个人的灵魂精神都不一样。

不管怎样,Jdon框架在这些建议下,也做改进,在即将到来的5.6版本引入Annotation,去除ModelIF/Model等继承接口,让代码更时尚一些。

5.6版本主要是增加Annotation元注释来替代原来一些接口,减少框架的侵略性。
Jdon框架默认提供了三种拦截器,当然你可以自己增加定制,这三种拦截器分别是对象池 Session周期和有态,以前为让你的service实现对象池等这三个功能,需要特别实现三个接口Poolable SessionContextAcceptable Stateful,而现在有一个可替代方法,就是使用元注解Annotation,例如:
@Poolable
public class ForumMessageShell implements ForumMessageService
表示ForumMessageShell将以对象池形式存在,这样对于一个主要代码很多的类,可以起到提高性能,防止资源无限消耗。对象池优点见: http://www.jdon.com/jivejdon/thread/35191.html,注意不要将小类做成Pool,因为对象池本省也损耗一定性能。
另外一个元注释是Model,原来所有Domain Model需要实现接口ModelIF或继承Model类,现在可以使用@Model来替代了,如:
@Model
public class Account{}

目前Jdon框架是Annotation和XML配置组合使用,Jdon框架并没有使用Annotation全面替代XML配置文件,因为我们对于元注解Annotation的观点是:适当但是不可乱用,是一把双刃剑。当所有组件都可以自由拆开IOC/DI,运行时也可自由指定顺序AOP,那么我们就能够更快地跟随变化,甚至无需重新编译整个项目,只要带一个组件到现场,XML配置改写一下,就能上线运行,注意,我这里提到了XML配置,如果你完全使用Annotation就达不到这个目的。

http://www.jdon.com/jivejdon/forum/messageList.shtml?thread=35373&message=23119938#23119938

个人不喜欢jdon的hibernate的持久层封装

OOJDON有无更好的方法或好的建设idea,可分享一下

to banq 前辈以及所有jdon项目的developers:
建议尝试一下提供jdon framework对OSGi平台的支持,让jdon能够跑在OSGi platform上,并能充分利用OSGi platform带来的magic。哪怕只是建立一个新的branches也好,这一部分不急着发布,现阶段可以仅作探索。
原来的trunk——比如jdon framework 5.6版本——还是可以继续按按计划开发的。:-)

近来对OSGi是原来越感兴趣了。它的一套思路,在传统Java EE领域,那绝对一场brain storm。
比如上述“jdon的Hibernate的持久层封装”问题,或许可以这么办:定义一个持久层的服务规范,然后可以开发一系列的服务提供者,可以用native hibernate api来实现,可以用JPA加某个provider(比如大家熟悉的hibernate,又或是大家不大熟悉TopLink,EclipseLink(JPA 2.0参考实现))。最后把服务规范与服务提供者统统部署到OSGi平台上,让服务的消费者来消费它所需要的服务,甚至支持运行时动态切换服务提供者,and no any full redeployment。

>>可以用native Hibernate api来实现
这就是我想要的,目前的封装搞得太复杂了,搞什么内部类,特别是那个throws Exception,比较讨厌,hibernate3都是RutimeException了。可以把现在的封装去掉,直接向用户暴露getCurrentSession();
[该贴被oojdon于2009-02-09 00:36修改过]

对jdon设计上的评价,以我当前的水平,是不敢提什么异议和一些好的建议的。
但是我想问下,对于jdon给出的项目文档能不能写得浅显易懂一些,本来是想看看这个项目的架构思想的,可是发现给的那个doc文档读起来实在拗口伤神,有的地方出现一些错别字,有的地方却又是含糊不清,而且文档条目章节都不清晰,上下之间内容联系太大,不能有选择性的去看。
还有个问题,就是感觉论坛有时说明一个问题的时候,总是感觉给出的例子太难,让人没有看下去的冲动。难道不能以浅显的例子,来说明一个本来就不是太难的问题吗?记得好像有个人说过,世界上没有难的技术,关键是找没找到一个好的老师,或者说是一本好的书籍。就好像语言入门要输入一个“hello world”,本来一个输出语句就OK的,没必要整一套框架后,最后才输出“hello world”吧!打个比方。
没有其他的意思,希望我说的,相关的人员看了后能有点想法。哎,细节啊!
比方说这个http://www.jdon.com/idea/jaas/06000.htm

[该贴被jsjlx2004于2009-02-23 17:06修改过]

楼上意见很好,由于框架发展迅速,文档修改都是跳跃式的,确实存在这个现象,以后会理顺。谢谢