在iOS App中使用多个数据库

mot*_*ion 1 database design-patterns core-data ios7

我有一个iOS应用程序,当前通过Web服务存储和从SharePoint列表中提取数据.我想让应用程序的设置选项也使用另一个数据库或云数据库,即parse.com

我不想在我的代码中放置if语句来测试应用程序是否设置为使用任一存储库.

在iOS应用程序中构建它以使用多个存储库/数据库来存储和检索应用程序中使用的数据的最佳方法是什么?

Mar*_*rra 7

构建一个处理逻辑的数据管理器类.我会为你要附加的每项服务创建一个.它们都可以从单个基类继承并共享本地缓存代码(我假设它是基于您的标记的核心数据).然后在启动时,您可以实例化您要使用的那个.

我建议不要使用Singleton.如果在应用程序运行时在服务之间切换,最好使用依赖注入并能够拆除并构建新的数据管理器.使用单身人士将是一个糟糕的设计决策.

如果您将所有网络代码本地化为一个类(我去年谈到的是网络控制器),那么您可以通过保持接口相同来轻松切换服务.

  • 不,我建议编写自己的网络代码,并将其保存在每个服务器/服务的单个控制器中.如果您想使用第三方库替换30行代码是您的选择,但核心解决方案是每个服务都有一个网络控制器类. (2认同)