DDD:在旧系统中应用事件存储

时间:2016-08-02 16:49:53

标签: domain-driven-design event-store domain-events

我们当前的系统是遗留系统,不使用domain events。我们将开始发布domain events。 其他有界的上下文会听取这些domain events,但仅限于我们开始发布时,丢失所有过去的信息。

然后,如何处理这个没有记录这些事件的遗留系统,但不知怎的,我们希望在实施这个事件存储系统之前有过去的历史记录?

根据我们在数据库中的数据,尝试弄清楚发生了什么并尝试创建域事件(逆向工程)是一种好方法吗?

1 个答案:

答案 0 :(得分:6)

我不会试图对遗留系统的事件进行逆向工程,除非有商业理由这样做 - 你的用例只是你想要的适应新的方式,你将使用事件建模事物?如果没有商业案例,那听起来就像是浪费精力。

如果有一个单独的开始事件代表您的每个事物的当前状态' (即,如果您正在使用DDD概念,则聚合),因为它们现在存在于遗留系统中?然后在此基础上添加新事件。

LegacySystemStateCaptured

NewDomainEvent

AnotherNewDomainEvent

...然后当您重建状态时,应用LegacySystemStateCaptured事件以及其他事件。