2

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

例子:

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

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

最后我在哪里保存所有需要的数据?我是否为每个演示者传递它?我是否将它们全部保存在交互器中?

4

2 回答 2

0

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

您可以在我的开源项目中找到VIPER架构演示用法,但没有您询问的流程示例。

于 2018-05-09T12:45:12.037 回答
0

正如https://theswiftdev.com/the-ultimate-viper-architecture-tutorial中简洁明了的解释,交互器区域隔离了实体/数据的获取是如何通过技术获得的。例如,您的内存数据现在可能是简单的 DRAM,但可以想象,将来或在不同的平台上可能是缓存一致的 NUMA,用于多核处理器或 TimesTen 内存数据库引擎或共享内存进程。VIPER 架构的价值在于,随着时间的推移,内存中{UMA DRAM、ccNUMA、TimesTen、共享内存}的哪个变体的详细信息被隔离在交互器中区域,以便由于这些表示内存数据的不同技术引起的剧变不会与演示者区域中的业务逻辑混合并交织在一起(或者更糟的是,在其他区域中也是如此)。此外,随着您的应用程序从其第一个平台进入第二个及后续平台,您将欣赏在构建时交换不同交互器区域的能力,用于在一个小平台上的简单 UMA DRAM、在多核平台上的 ccNUMA、TimesTen例如,嵌入式系统或通用桌面操作系统上的数据中心规模和共享内存。

于 2021-04-03T02:55:22.473 回答