七种颜色的事件风暴法
极客时间《如何落地业务建模》学习笔记 09,题图来自极客时间专栏
08 | 什么办法可以在讨论中自然形成统一语言?
事件建模法(Event-based modeling)通过事件捕捉系统中信息的改变,再发掘触发这些改变的源头,然后通过这些源头发现背后参与的实体与操作,最终完成对系统的建模
如何通过对象模型表达流程
模型偏重于数据角度,描述在不同业务维度下,数据将会如何改变,以及如何支撑应对的计算与统计。
业务维度中的流程、交互、功能点,则更关注行为。
采用行为视角和数据视角来分别看待事件和行为,确实更加清楚。
绿地项目 Greenfield 的说法很有意思,对应的似乎有棕地项目 Brownfield,都比较形象。绿地项目是指从头开始的项目,而棕地项目一般是半途接手的存量项目。
通过事件表示交互
通过时间线划分不同事件
交互事件:通过交互流程产生的事件
领域事件:发生在领域中且值得注意的时间,通常有领域对象状态的改变
领域逻辑的等价接口,这个领域时间的判断方法看起来似乎有些晦涩。
事件风暴法 Event Storming 似乎在敏捷开发领域更加流行一些,而且似乎操作起来也更容易一些,毕竟头脑风暴的方式更随意一些。
感觉事件风暴法和事件建模法似乎在底层都是一样的,都是以事件为中心。
事件的命名:名词+动词被动式
命令的命名:动词+名词
策略的命名:对应的业务逻辑命名
事件风暴法推荐使用 7 种不同的颜色,不知道 3M 便条纸有没有这么多种色彩。
老师在之前的回复中提到 CQRS 似乎不怎么实用。写入数据 Command 和查询数据 Query 分别使用不同的模型可能效果更好。
这个事件风暴法的例子看起来还是比较过瘾的。
简单梳理了一下图中的颜色,其中有一两个颜色稍微有点对不上
橙色 Orange:领域事件 events
蓝色 Blue:命令 commands
紫色 Purple:策略 business process
黄色 Yellow:行动者 actor / 聚集 ?
粉色 Pink:系统 external systems
绿色 Green:阅读模型 view
红色 Red:聚集 ?
七种颜色似乎有些多了。
版权声明: 本文为 InfoQ 作者【escray】的原创文章。
原文链接:【http://xie.infoq.cn/article/27493a7f3b00948a6e6b915e6】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论