我的应用程序中有一些实体类.我想保存对此实体的所有更改以及历史表中发生的一些事件.问题是实体类是不同的,用不同的原语构建,它们之间有不同的关系.
例如,在购物应用程序中,可以有:用户,项目,交易,监视.我希望能够像这样向用户显示一些活动日志:
此日志涉及许多内容:
我的主要问题是如何跟踪这些数据?
您可能对名为Event Sourcing的设计模式感兴趣.
事件源采用确保应用程序状态的所有更改都存储为一系列事件.我们不仅可以查询这些事件,还可以使用事件日志重建过去的状态,并作为自动调整状态以应对追溯更改的基础.
至于如何存储此类事件,实际上取决于要求.有时只需将其序列化为JSON就足够了.
事件采购包含在CQRS的大多数实现中,因此您几乎可以在与其相关的任何资源中找到其他信息.