我一直在从事个人项目,以便更好地了解 VIPER 架构。我真的很喜欢我可以保持模块分离的方式,使代码更干净。
当谈到模块依赖时,我仍然有一些疑问:
我有一个模块负责显示基于用户数据的一些统计数据,另一个模块负责显示基于统计数据的一些数据预测。
然后,我的 ProjectionsInteractor 需要从 StatisticsInteractor 获取一些数据,因为我不想重复实现相同的东西两次。
我已经有一个 DataManager 层,基本上是一个 CoreDataManager,但那里没有任何逻辑。它只是被交互者用来检索和操作一些数据,而不知道关于持久性细节的任何事情。
我应该把从多个交互者中提取出来的共性放在哪里?这有什么不同吗:
- 共性是否与交互器的核心{数据存储、网络、传感器}数据采集/存储目的相关
- 共性是否与要对从 {data-store、networking、sensors} 获取的数据执行的业务规则有关?