使用VIPER模式在iOS项目中保留的位置以及如何在内存数据中传播



我在项目中有一个流程,其中我有不同的屏幕来编辑实体的不同部分,这仅在此流程的末尾创建。在这种情况下,如何在Viper中组织代码?

示例:

我想创建一个测试实体。它在最后具有标题和描述,问题和一些辅助文本。每个部分都在单独的屏幕上进行编辑,例如:

创建标题/描述--->创建问题--->输入辅助文本--->创建

最后,我在哪里保留所有需要的数据?我会为每个主持人传递吗?我是否将所有这些都保留在互动器中?

在我们的团队中,我们决定Presenter可以存储一些状态。因此,我们将模型传递到下一个模块并将其存储在Presenter中。

您可以在我的开源项目中找到 VIPER 架构的演示使用情况,但是您没有提出过的flow示例。

,如清晰的&在https://theswiftdev.com/the-ultimate-viper-architecture-tutorial中简洁地说, Interactor 区域隔离了如何从技术上获得对实体/数据的获取。例如,您的内存数据现在可能很简单,但是可以想象可能是将来,或者在其他平台上是多核促销员或时间段的内存内存数据库引擎或共享内存解释的CACHE-COHERENT NUMA。Viper架构的价值是,随着时间的流逝代表内存数据的数据不会commingle&在主持人区域中与业务逻辑交织在一起(或更糟糕的是,在其他区域中也更糟(。另外,随着您的应用程序从第一个平台到第二个平台;随后的平台,您将不胜感激能够在构建时间交换不同的交互式区域,以在一个小平台上进行简单的UMA DRAM,在一个多核平台上的CCNUMA,TIMESTEN在数据中心等级上,并在共享中共享,并说。,嵌入式系统或通用桌面OS。

最新更新