我们当前的系统是一个不使用domain events的遗留系统。我们将开始发布domain events。其他有界上下文将监听这些domain events,但仅从我们开始发布时开始,丢失了所有过去的信息。
那么,如何处理这个遗留系统,它没有记录这些事件,但不知何故,我们希望在实现这个事件存储系统之前有一个过去的历史?
试图弄清楚发生了什么并尝试根据我们数据库中的数据创建域事件(逆向工程)是一种好方法吗?
发布于 2016-08-03 02:46:34
我不会尝试对遗留系统的事件进行反向工程,除非有商业原因-你的用例只是想适应你将使用事件建模的新方式吗?如果没有商业案例,这听起来就像是在浪费精力。
让一个单独的启动事件来代表你的每个“事物”的当前状态(如果你正在使用DDD概念的话就是Aggregates )怎么样?然后在此基础上添加新事件。
也就是说。
LegacySystemStateCaptured
NewDomainEvent
AnotherNewDomainEvent
...then在重新构建状态时,请应用LegacySystemStateCaptured事件和其他事件。
https://stackoverflow.com/questions/38726286
复制相似问题