什么是事件风暴
很多人在学习DDD的过程中,都会有一个疑问:DDD的概念看着挺多,听起来也很有用。但具体怎么落地实施到项目中?
事件风暴(Event Storming)于2013年首次被提出,2015年被ThoughtWorks技术雷达添加到“实验”阶段,2018年被ThoughtWorks技术雷达添加到“采纳”阶段。
事件风暴是一种快速探索复杂业务领域和对领域建模的实践。
事件风暴从领域中关注的业务事件出发,在此过程中团队经过充分讨论,统一语言,最后找到领域模型。
那到底什么是领域中关注的业务事件呢?
以宠物为例,如果做为宠物主人,你的问题域是如何养好一只猫,那么是不是已经打了疫苗,给宠物饲喂食物等将成为你关注的事情,领域事件会有:疫苗已注射,猫粮已饲喂等。
如果你是宠物医生,问题域是如何治好宠物的病,关注的事情是宠物的身体构成,准确的诊断宠物病情,对症下药,领域事件会有:病情已确诊,药方已开治。虽说二者关注的都是宠物,在不同的问题域下领域事件是不同的。
如果在通用语言中存在“当a发生时,我们就需要做到b。”这样的描述,则表明a可以定义成一个领域事件。领域事件的命名一般也就是“产生事件的对象名称+完成的动作的过去式”的形式,比如:订单已发货(OrderDispatchedEvent)、订单已收货和订单已确认
评论记录:
回复评论: