我正在关注著名的Robert C. Martin提出的Clean Architecture。Clean Architecture 的鸟瞰图如下:
- 搜索内存缓存并向应用层提供数据
- 如果没有找到,搜索本地数据源并同步到内存缓存并提供数据给应用层
- 如果没有找到,搜索远程数据源并同步到本地数据源并提供数据给应用层
严格按照上述步骤,如果本地数据源中存在数据,则永远不会从远程数据源同步数据,而远程数据可能会更改。我该如何修改才能处理这种情况?我想到了一个想法,写在下面,但我确实在寻找更好的解决方案。
我的想法是跟踪本地数据库中每条记录的最后同步时间。如果上次同步时间超过阈值时间,则自动同步。