事件建模法是一种业务建模方法,它的核心思想是通过捕捉系统中发生的”事件”来理解和设计系统。不像催化剂建模法一类的,从静态的数据结构或实体关系入手,而是先关注业务流程中信息发生了哪些改变,然后追溯这些改变的源头。
这种方法最大的优势在于,它能在业务和技术人员的讨论过程中,非常自然地共创模型,形成所有人都能理解和接受的”统一语言”。
- 基本原则:
- 通过事件表示交互:我们将复杂的业务流程或交互,拆解成一系列按时间顺序发生的事件。例如,“支付”这个行为,不再是一个单一的对象,而是可以通过”支付发起(Payment Started)“和”支付完成(Paid)“等一系列事件来还愿。这样的好处是,我们可以按照记叙文六要素(时间、地点、人物、起因、经过、结果),来挖掘出背后的领域概念,如订单、买家、支付凭证等。
- 通过时间线划分不同事件:为了避免模型过于复杂,事件建模法引入了多条时间线的概念来区分事件的粒度。一种常见的做法是区分交互事件和领域事件。领域事件是指那些对领域模型有重要意义、通常意味着领域对象状态发生了改变的事件,而其它事件则属于交互事件。比如支付发起不会引起领域对象的变更,而支付完成则意味着会增加一个支付凭证。这帮助我们抓住核心,让业务流程的关键节点在模型中清晰地展现出来。
只要约定好以何种逻辑发现事件、事件如何与模型结合,就可以根据业务需要发明自己的方法。