当前位置:  开发笔记 > 运维 > 正文

iOS应用程序VIPER架构 - 有多少数据管理器?

如何解决《iOS应用程序VIPER架构-有多少数据管理器?》经验,为你挑选了1个好方法。

我在VIPER建筑模式的背景下寻找这个问题的答案-

如果你有一个可与既有的应用程序web apidatabase多少dataManagers,你应该有一个,两个或三个?

案件

一个) dataManager

b) APIDataManagerLocalDataManager

c) dataManager,APIDataManagerLocalDataManager

在哪里

A)interactor一个单一的会谈dataManager,讨论对您的任何服务(远程或本地).

B)interactor知道的区别localremote信息-并呼吁无论是APIDataManagerLocalDataManager,分别跟远程和本地服务.

c)interactor与将军的唯一对话dataManager,将军dataManager随后与APIDataManager和将会谈LocalDataManager

编辑

可能没有确定的解决方案.但任何输入都将非常感激.



1> eofster..:

VIPER和The Clean Architecture都没有规定所有交互者都必须只有一个数据管理器.引用的VIPER文章仅使用一个管理器作为抽象出特定存储实现的示例.

交互器对象实现特定于应用程序的业务规则.如果应用程序所做的是与服务器通信,然后转身并与本地磁盘存储器通信,那么交互者就知道这一点是完全正常的.更重要的是,一些交互者必须完全管理这个.

不要忘记正常的对象组合规则也适用于交互者.例如,您从一个从服务器获取数据并将其保存到本地存储的交互器开始.如果它太大,你可以创建两个新的交互者,一个进行提取,另一个保存到本地商店.然后,您的原始交互器将包含这些新的交互器并将其所有工作委托给它们.如果遵循定义边界的规则,则在执行提取类重构时,您不必更改使用新复合交互器的对象.

另请注意,通常建议不要使用管理器控制器结尾命名对象,因为它们的角色不完全清楚.您可以将与服务器通信的接口命名为APIClient,即抽象本地存储的接口,例如EntityGateway或者EntityRepository.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有