我们有一个现成的应用程序,它是用c++和关系型数据库编写的。该应用程序需要用c#重写,并且业务要求能够追踪更改历史。CQS似乎适用于读/写操作,但事件溯源似乎几乎不可能实现,因为现有的应用程序仍然需要与新的应用程序一起使用。现有的c++应用程序使用组件(数据视图),直接在数据库中进行写入。
为了升级,我们需要将c++应用程序中所有可编辑表格更改为通过命令调用服务到我们的新应用程序中,这非常昂贵。
我们需要一种架构,在不破坏旧的c++应用程序的情况下从旧的架构演变到新的架构,并且它们需要协同工作。
我们考虑的一个想法是为事件溯源做好准备,但不使用它。然后创建一些跟踪表格,两个应用程序都写入其中。一旦一个模块就绪,我们在新的应用程序中激活该部分并在旧的c++应用程序中停用它。
但实际上,在传输过程中何时将数据存储到现有数据库中才是最佳时机?在CommandHandler中还是在EventHandler中?例如,当用户真正添加时,才逻辑地发送事件UserAdded。我们认为制作临时命令处理程序是最佳选择。
还有其他想法吗?
为了升级,我们需要将c++应用程序中所有可编辑表格更改为通过命令调用服务到我们的新应用程序中,这非常昂贵。
我们需要一种架构,在不破坏旧的c++应用程序的情况下从旧的架构演变到新的架构,并且它们需要协同工作。
我们考虑的一个想法是为事件溯源做好准备,但不使用它。然后创建一些跟踪表格,两个应用程序都写入其中。一旦一个模块就绪,我们在新的应用程序中激活该部分并在旧的c++应用程序中停用它。
但实际上,在传输过程中何时将数据存储到现有数据库中才是最佳时机?在CommandHandler中还是在EventHandler中?例如,当用户真正添加时,才逻辑地发送事件UserAdded。我们认为制作临时命令处理程序是最佳选择。
还有其他想法吗?