关于CQRS的一些高级问题

我想问banq和各位一些CQRS的具体的一些问题。

1. 对eventHandles暴露CQRS框架的访问么?如果不暴露的话也有理由,因为eventHandle是事件监听处理者,可以扩展领域外的功能,比如DB store / email 等等,如果暴露是否有什么理由呢?

2. 关于Command是否发给 commandBus 还是,用自己的一个 execute 方法,那个比较好。
比如:
var cmd = new ChangeUserNameCommand('brighthas');

cmd.execute(callback);
or ->
commandBus(cmd,callback);

我是开发 cqrsnode框架的作者,还在完善中,现在牵扯到一些细节,希望各位大牛赐教。

一下的连接的 test 目录是个 demo.
https://github.com/brighthas/cqrsnode


我个人倾向暴露,对于eventhandler已经是技术架构中一员,不同于业务模型,都应该对其透明。

至于是否需要总线不是主要,需要时要可以引入,如果直接execute问题就是不能在需要方便引入异步或总线。

对于 Aggre ,是否只需暴露 仓储 repositories 就可以。
Command CommandHandle 不需要,这个是入口。
就是 eventBus 是否要暴露 Aggre,还是如下这种监听方式

var a : AType
var b : BType

b要是监听a,只需 a.listen(event,handleFunction);

请赐教