android - MVP 模式 Android 演示者中的重复方法

标签 android mvp

我有几个 Activity ,虽然每个 Activity 都很独特,但必须有一些常见的 api 调用,如 getCurrentUser() 或 updateUser()

鉴于 MVP 模式(我目前正在使用 MVP mosby),因为这些 Activity 中的每一个都只有一个演示者。在我开发的过程中,似乎有时我会在这些演示器上复制粘贴大量这些常见的 api 调用。假设我有 api Call A、B、C、D。

A、C用于presenter 1,

B、D、A用于presenter 2,

C、E用于presenter 3 .....

等等。真的很难找到一个“普通”的演示者来继承。所以 api 调用,C 和 A 基本上是复制粘贴。

我的问题是,鉴于目前的情况,避免代码复制粘贴的最佳方法是什么?这几乎是不可避免的吗?还是我应该尽最大努力做 OOP,但每次从不同的演示者添加/删除 API 调用时都冒着大量重构的风险?

最佳答案

Interactor模式(用例模式)可以解决您目前的重复代码问题。

想法是将 getCurrentUser()updateUser() 方法背后的所有逻辑提取到一个类(交互器)中,并在多个演示者中使用该交互器。

这是一个非常简单的解释。我建议你从 this post 开始做更多的研究和 this post例如。

关于android - MVP 模式 Android 演示者中的重复方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41489076/

相关文章:

android - 共享元素过渡不适用于显示/隐藏 fragment

C# 继承 View 和演示者

ruby-on-rails-3.1 - 是否有任何 Rails gems/tools/templates 用于沙盒实验功能以进行拆分测试?

android - 我想使用 MVP 设计模式为 android 构建手动 camera2 应用程序。如何?

android - 在 Marshmallow 设备中加载 map 时获取 android.view.InflateException

android - 在 Android Studio 后端设置 API 级别

java - 如何解决gradle build中的重复类错误?

java - android:每次点击播放不同的声音

asp.net-mvc - 为什么选择 Asp.net MVC 而不是 Asp.net MVP

android - 在android中的viewmodel中扭曲MVP演示者?