问题标签 [viper-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1029 浏览

ios - VIPER中UITableView委托和数据源的实现

我是第一次在 VIPER 架构中编写应用程序,不明白UITableView委托和数据源方法是否应该进入 View、Presenter 或 Interactor?我在一些链接中发现它应该是 View 类的一部分,但这似乎不对。即使它是 View 的一部分,数据将如何到达那里,因为 View 在技术上不应该向演示者请求数据。Presenter 应该自己推送数据。

0 投票
1 回答
328 浏览

android - 使用 RxAndroid 处理 onKeyDown

我将https://github.com/mkoslacz/Moviper用于我的 Android 电视盒应用程序。只有一个活动具有多个子片段。仅当尚未处理事件时,我才想将 onKeyDown 传播到子片段。不使用 RxJava 很容易做到。我可以返回一个布尔值来告诉该事件是否已被处理。有没有办法使用 RxJava 处理它?我使用 Kotlin 作为源语言。这是我正在尝试做的事情。

0 投票
1 回答
520 浏览

ios - 通知如何适应 iOS VIPER 架构?

我正在查看 VIPER 架构,我想知道应用程序中的通知会放在哪里。我使用 Realm 本地数据库,它能够在模型更新时发送通知。通知是从 INTERACTOR --> PRESENTER --> VIEW 广播的还是转到其他地方?

0 投票
1 回答
137 浏览

ios - 使用带有协议和委托的通知或侦听器(VIPER 架构)

我正在创建一个聊天应用程序,并且我设置了一个监听器来监听用户广播的新消息。侦听器从applicationDidBecomeActive. 通常在 Viper 中,UI 操作发生在View中,Presenter收到通知并调用一个Interactor 函数,该函数执行某种网络/本地逻辑并将其传递回 Presenter,然后更新 View。
我的听众如何适应这一切?
收到新消息时如何通知我的视图?

0 投票
1 回答
46 浏览

swift - 符合协议的对象应该隐藏协议方法

我有一个使用 Viper 架构设计的应用程序。为了避免异常,每个模块都由一个符合 BaseFactory 协议的工厂类创建。

我的应用程序中一百个 (2%) 模块中的两个应该使用自定义工厂方法创建,该方法不是通过协议强制执行的,这是一种接受参数的工厂方法。

是否可以在 MemberProfileFactory 类中“隐藏/禁用”函数 createViperModule()?

0 投票
3 回答
1618 浏览

swift - 在 VIPER 架构中,在哪里以及如何执行 segue?

作为初学者,我曾经在ViewControllers. 此外,Apple 鼓励这种方法,因为UIViewController有方法performSegueprepareForSegue.

但学习 VIPER,我读到它Router负责场景之间的过渡。第二件事是根据这样的 VIPER 流程图:

在此处输入图像描述

Router不得与View.

我绝对不想拒绝使用segues,因为它非常强大,让我可以轻松地在ViewControllers.

那么,我应该如何在 之间执行转换ViewControllers

0 投票
1 回答
598 浏览

ios - Where should I put Core Location methods in a VIPER/MVP iOS project?

I searched a lot, I understand that the view controller is actually the "View" in the Viper or MVP architecture and the Presenter contains the logic... But since the presenter should be easy testable, is it good to put Core Location stuff (like LocationManager and location updates) into the presenter? Or should I put in view controller and notify the presenter?

0 投票
1 回答
77 浏览

ios - 使用毒蛇模式时,毒蛇模式是否应该应用于所有视图控制器?

使用 VIPER 模式时,源代码中有哪些示例说明将 VIPER 模式仅应用于某些视图和视图控制器而不是全部的负面影响?相反,源代码中有哪些示例可以说明将 VIPER 模式仅应用于某些视图和视图控制器而不是全部的优势?

0 投票
2 回答
67 浏览

ios - 在哪里保存以及如何使用 VIPER 模式在 iOS 项目中传播内存数据?

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

例子:

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

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

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

0 投票
2 回答
782 浏览

ios - VIPER 架构:模块中的子模块

我有一个 VIPER 模块 ( SubjectList),我想在其中有一个更通用HeaderModule的,带有 aSubjectListCollectionModule和 a BlockModule。在什么时候我会在逻辑上添加HeaderModule

我可以在 中包含模块SubjectListViewModel,但我也可以在 中呈现它们,SubjectListView通过 Interface Builder 实例化它们,使用xibs. 推荐什么?