.net程序员初学JiveJdon

10-04-15 kety633
都说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;

	}
	   
<p class="indent">

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

第二,事务是怎么管理的?
还是用上面的代码,如果在.Net中我会把messageQueryDao的实例通过反射来获取,直接在构造函数里获取实例,而不是通过外部传入。这样我可以在ForumMessageQueryServiceImp 中管理事务。

[该贴被kety633于2010-04-15 09:31修改过]

banq
2010-04-15 09:40
欢迎欢迎,互相交流,互相学习。

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来完成新增。

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

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

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

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

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

xiaosanaiq
2010-04-15 23:49
学习!

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


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