我们当前的系统是遗留系统,不使用domain events
。我们将开始发布domain events
。
其他有界的上下文会听取这些domain events
,但仅限于我们开始发布时,丢失所有过去的信息。
然后,如何处理这个没有记录这些事件的遗留系统,但不知怎的,我们希望在实施这个事件存储系统之前有过去的历史记录?
根据我们在数据库中的数据,尝试弄清楚发生了什么并尝试创建域事件(逆向工程)是一种好方法吗?
答案 0 :(得分:6)
我不会试图对遗留系统的事件进行逆向工程,除非有商业理由这样做 - 你的用例只是你想要的适应新的方式,你将使用事件建模事物?如果没有商业案例,那听起来就像是浪费精力。
如果有一个单独的开始事件代表您的每个事物的当前状态' (即,如果您正在使用DDD概念,则聚合),因为它们现在存在于遗留系统中?然后在此基础上添加新事件。
即
LegacySystemStateCaptured
NewDomainEvent
AnotherNewDomainEvent
...然后当您重建状态时,应用LegacySystemStateCaptured事件以及其他事件。