Bounded Context是一个好的角度,不知你有无这方面实践分享一下。再回到CQRS应用场景,CQRS和Event Source是密切相关的,ES属于CQRS中的Command部分,MartinFowler的ES文章谈到,将导致状态变化的所有事件提取出来。
比如我们原来没有在业务上引入考虑事件这个角度:

上面是典型的SSH或javaEE实现的方式,一个服务一个实体,而引入事件之后,如下图:

那么正如大部分系统都可以引入服务这个概念,“服务”这个概念既是业务也是技术概念,成为业务和技术架构的桥梁,谈到服务,业务人员知道它在业务上代表什么,技术人员知道如何实现它。
而“事件”也是一种和“服务”类似的介于技术和业务之间桥梁的术语,通过引入事件,应该不会对业务领域包括实体有伤害作用,也不会感觉它是天外来客或神仙姐姐,否则服务这个概念也应该是了。
不知上面观点是否认可?呵呵。
相关讨论:
业务建模: CQRS是鸡肋?
数据Data 上下文Context 交互Interaction(DCI):面向对象范式的演进
[该贴被banq于2012-08-31 16:07修改过]