在研究了几篇关于该主题的博客文章后,我感到困惑,因为不同的开发人员有不同的实现,但他们都使用单一接口来存储存储库。
假设,我们有以下存储库接口
interface Repository<T> {
fun get(): List<T>
fun save(items: List<T>)
}
对于带有T = Users
,的此存储库的特定实现,Repository.get()
从服务器下载一些数据并将其缓存。
对于另一种类型的对象,说Bundles
我不仅需要这些方法,还需要一些其他方法,例如查询特定列的本地数据库。
在那种情况下,我无法理解,我是否需要创建一个单独的接口或向现有的单个接口添加方法,在这种情况下,我应该如何在不需要这些方法的其他存储库中实现新方法?它必须对所有存储库具有相同的接口。我个人认为,只要我很好地抽象它们,就可以为不同的存储库创建多个接口。
我是否需要创建一个单独的接口或向现有的单个接口添加方法
你可以为所欲为。Android 对存储库一无所知,也没有任何限制。
在我的工作中,我一开始并没有创建通用界面(如您展示的界面)。我也想不出我曾在哪个项目中开发人员创建了通用存储库接口。我相信有些人确实创建了这样的界面,但操作系统没有要求。
我个人认为,只要我很好地抽象它们,就可以为不同的存储库创建多个接口。
欢迎你这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句