1、引言 上次初步了解了什么是领域事件和为什么要使用领域事件的相关概念,接下来就要继续深入,如何对领域事件建模, 2、事件建模 事件建模也被称为事件风暴,形式有点类似于头脑风暴的方法,通过事件风暴的方法可以快速分析复杂业务领域,完成领域建模的目标。 事件风暴是一项团队活动,是在通过领域事件识别出聚合根,进而划分微服务的限界上下文。在活动中,团队先通过头脑风暴的形式罗列出领域中所有的领域事件,整合之后形成最终的领域事件集合,然后对于每一个事件,标注出导致该事件的命令(Command),再然后为每个事件标注出命令发起方的角色,命令可以是用户发起,也可以是第三方系统调用或者是定时器触发等。最后对事件进行分类整理出聚合根以及限界上下文。 事件风暴建模是基于领域驱动设计DDD的业务建模方式,它能够直接分析动态业务流程。动态的业务流程就是说在对于一个状态要做什么样的措施。事件风暴就是开发人员们一起讨论分析哪些状态需要建模领域事件(必须是有价值的),事件建模的原则是不修改原本代码,保证代码的高度解耦。所以事件建模可以理解为封装,封装的原则就是以不变应万变,不变的是原本的业务,变的是对于业务执行后的状态的处理,例如订单从待付款变为已付款,这个业务本身不变,变的是将支付成功这个结果的应对方法。 建模事件需要知道事件的来源,有因必有果,建模事件必然是有原因和结果的,事件是由事件源和事件处理组合而成的