我希望将具有清晰域模型的相对较新的基于 Web 的应用程序转换为更多的 CQRS 样式系统。我的新应用程序本质上是对旧的现有系统的增强替代。
我组织中的现有系统共享一组通用数据库,这些数据库由整个公司孤岛中存在的无数应用程序(通过混沌方法开发)进行更新。(就目前而言,我相信公司中没有一个人可以识别出他们所有人。)
因此,我的问题是关于我的应用程序的读取模型。由于各种状态变化、一般用户数据等都是由我无法控制的其他应用程序更新的,那么以我可以处理外部更新但仍然保持相对简单的方式来处理构建读取模型的最佳方法是什么?
到目前为止,我已经考虑了以下内容:
- 在数据库中为读取模型创建视图,读取所有表,旧的和新的
- 向现有表添加触发器以更新新的读取模型表
- 将一些代码添加到数据库(CLR Stored proc/etc [sql server])以更新外部数据存储以用于读取模型
- 放弃希望
关于如何处理这个问题的普遍共识是什么?认为我可以在不从头开始完全重写所有内容的情况下为遗留系统带来秩序是愚蠢的吗?