.net程序员初学JiveJdon

都说Java领域注重设计,感觉这才是OO的圣地,特别是Jdon 。习惯了.Net的直来直往,突然有一天觉得写程序索然无味了,写来写去都一个模样。想象中的OO,找不到影子。只不过是借OO的躯壳包装了面向过程代码而已。我要的扩展没有,需求的变更只有无尽的刨代码。所以至今OO功力不见长。

决定看看JiveJdon,Java的开发环境,以及一些配置都不是很熟悉的情况下,开始了摸索过程。一个感觉:云里雾里。在这想请教各位前辈给予指点。不甚感激。

第一,接口的实现是从哪里实例化的?看一下代码


public class ForumMessageQueryServiceImp implements ForumMessageQueryService {
private final static Logger logger = Logger.getLogger(ForumMessageQueryServiceImp.class);
protected MessageQueryDao messageQueryDao;
protected AccountFactory accountFactory;
protected QueryManager queryManager;
protected TreeManager treeManager;
protected ForumBuilder forumBuilder;

public ForumMessageQueryServiceImp(MessageQueryDao messageQueryDaoy,
AccountFactory accountFactory, QueryManager queryManager,
TreeManager treeManager,
ForumBuilder forumBuilder) {
this.accountFactory = accountFactory;
this.queryManager = queryManager;
this.messageQueryDao = messageQueryDaoy;
this.treeManager = treeManager;
this.forumBuilder = forumBuilder;

}


ForumMessageQueryServiceImp实现了接口ForumMessageQueryService。ForumMessageQueryServiceImp实例好像是通过ServiceLocator来获取。始终没发现是在哪里实例化的,如果是通过依赖注入容器,那么ForumMessageQueryServiceImp构造函数里的参数怎么来的?

第二,事务是怎么管理的?
还是用上面的代码,如果在.Net中我会把messageQueryDao的实例通过反射来获取,直接在构造函数里获取实例,而不是通过外部传入。这样我可以在ForumMessageQueryServiceImp 中管理事务。
[该贴被kety633于2010-04-15 09:31修改过]

欢迎欢迎,互相交流,互相学习。

1. ForumMessageQueryServiceImp 实例化是在客户端调用:
WebAppUtil.getService("forumMessageQuery");在Jdonframework内部实例化,forumMessageQuery是名称,可以通过@Service("forumMessageQuery")实现,也可以在XML配置,这里是在services.xml中配置实现的。

ForumMessageQueryServiceImp的构造器的参数是提供Jdonframework进行注射的,JF会将这些参数实例在上述调用WebAppUtil.getService时注射到ForumMessageQueryServiceImp中。

2.关于事务是如何管理的,在JiveJdon 3.0左右版本,事务是在Service中,当然ForumMessageQueryServiceImp是查询服务,没有必要事务,到了3.8以后版本,由于Jdonframework6.2引入了domain events,事务从服务中降到repository层,应该在messagekenerl中实现的。调用顺序是:service -- > domain model ---发出事件 --->消息处理者实现持久化保存,主要在message修改时实现这个流程,新增由于model还没有出来,不能由model来完成新增。

谢谢banq, 我看的是3.0版本,之后的版本我了解了下,已经采用了最新的架构思想。这些架构思想我也是从Jdon开始了解的。可以说Jdon与世界保持同步,在中国已走在前列了。

后来发现国外.net社区也有这些最新架构思想的讨论,国内倒是没看到。不知道是不是.net大牛们藏起来不露脸,还是怎么的。真是“杯具”。

你这么一点拨,我大致知道了怎么回事,有个思路继续研究下。水平有限,还是看老版本。

2010年04月15日 09:28 "kety633"的内容
开始了摸索过程。一个感觉:云里雾里 ...

我刚开始学jivejdon的时候也是这种感觉,不过走出来了之后发现了一个美好的世界。

学习!

2010年04月15日 10:10 "kety633"的内容
国外.net社区也有这些最新架构思想的讨论,国内倒是没看到。不知道是不是.net大牛们藏起来不露脸,还是怎么的。真是“杯具”。 ...

是的,DDD最近一段时间在国外.NET社区非常火,国内不见动静...呵呵,原因就那几种,不过经常来J道,都会时刻跟踪这些的,不管.NET或Java或Scala