服务是业务场景发生的地方,就象你把加油机和服务人员放在门口,就在门口提供加油服务,如果你放在房间内,就在房间内提供加油服务,但是,加油这个动作或职责不是由服务本身完成,服务本身是一个时间地点的结合点,是一个时间空间的交汇点,是业务场景发生的地方,但不是业务场景本身。
业务逻辑和领域逻辑从概念了上是差不多的,逻辑一般是指规则rule等静态的东西,逻辑要发生作用,必须被事件激活,事件被激活就讲究时间和空间,这点和服务又吻合。
服务是事件的入口,外部事件进入服务后,被服务传递给领域模型,由领域模型驱动相关服务或仓储或相关算法完成一定职责行为,这是一个方式,还可以专门设立一个场景对象,服务-->场景,在场景中注射服务或仓储或算法,完成相关场景的职责行为,这应该是两种目前不同实现方式。
取个正式名称,前面Domain Events应该成为EDA,事件驱动架构;后者可以认为是DCI架构,相关分支讨论见本帖的标签。
[该贴被banq于2010-04-06 11:33修改过]