我有几个 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()
方法背后的所有逻辑提取到一个类(交互器)中,并在多个演示者中使用该交互器。
关于android - MVP 模式 Android 演示者中的重复方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41489076/