具有存储和改造功能的存储库模式

在开发优秀的软件时,开发人员经常依赖于设计模式,我们可以将其定义为对已知问题有价值且经过验证的解决方案。 可以说,这些模式中引用最多的列表是著名的“四人帮”在其“设计模式”一书中编写的列表,其中解释了观察者,适配器和生成器模式等,仅举几例。 即使没有由该组作者定义存储库模式,它也从其最初的介绍中就越来越受欢迎,因为它为软件开发人员提供了应用程序域和从数据源获取的原始数据之间的中介层。 存储库模式是一个好主意,这是Store所基于的:应该调用库而不是直接访问网络层,这带来了很多好处。 其中之一是可以持久保存数据,以便可以在脱机时对其进行访问。 这使我们进入下一步,即记录持续时间策略:在Store中,可以声明数据应保留多长时间。 可以控制是否在磁盘上的旧数据过时获取新数据。 在提供良好默认值的同时,Store还为如何获取,解析和持久存储数据提供了完全的自由度。 翻新 在Android社区中,绝大多数开发人员至少对网络请求使用过一次翻新,或者,翻新过至少一次,并且提供与以下(非常基本的)类似的服务是很常见的: 此实现非常简单,但是如果需要持久性怎么办? 在这一点上,“存储库”模式可以提供很多帮助,并且用Store打包此服务实际上也很容易。 技术栈 在此示例中,已选择RxJava和Moshi作为参考,第一个是因为Store严重依赖于它,而后者则更多是个人选择:无论您使用Moshi,Gson还是Jackson, 创建可运行Store的步骤实例是相同的 , 只是一些前缀不同。 创建商店…