首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VIPER模块依赖项

VIPER模块依赖项
EN

Stack Overflow用户
提问于 2018-07-12 09:35:38
回答 1查看 208关注 0票数 1

为了更好地理解VIPER架构,我一直在做一个个人项目。我非常喜欢保持模块分离的方式,使代码更加简洁。

当涉及到模块依赖时,我仍然有一些疑问:

我有一个模块负责显示一些基于用户数据的统计数据,另一个模块负责显示一些基于统计的数据预测。

那么,我的ProjectionsInteractor需要从StatisticsInteractor获取一些数据,因为我不想两次重新实现相同的东西。

我已经有了一个DataManager层,基本上是一个CoreDataManager,但是没有任何逻辑。它只是被Interactors用来检索和操作一些数据,而不知道任何关于持久性细节的信息。

从多个交互因素中,我应该把共性因素放在哪里呢?这会有什么区别吗?

  • 共性是否与核心{数据存储、网络、传感器}数据采集/存储的目的相比较?
  • 共性是否与从{数据存储、网络、传感器}获取的数据强制执行的业务规则有关?
EN

回答 1

Stack Overflow用户

发布于 2021-05-01 18:08:03

  • 如果共性本质上是应用领域业务规则,那么将其移到演示者区域,这是所有应用程序域业务规则都位于VIPER体系结构中的地方。
  • 但是,如果公共关系本质上是以互操作为中心的,而不是让一个中间参与者调用另一个交互参与者的方法,那么您将把中间参与者之间的共同性分解成一个多个参与者将调用的交互区域内的库。这个库可以有几种形式:一个实用程序层(来自一个更传统的时代),或者一个需要公共继承的交互参与者的协议。

TL;DR:剔除共性。把因素的共性放在哪里取决于共性是什么主题/特征。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51302146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档