【问题标题】:Use multiple presenters for the same Activity为同一个活动使用多个演示者
【发布时间】:2018-06-02 16:11:32
【问题描述】:
我正在尝试在我的新项目中使用 MVP。我有一个可以与之关联的单个活动和多个演示者。
- Presenter1 - 加载活动数据
- Presenter2 - 加载用户数据 - 可用于多个活动(因此此演示者将用于多个活动
- Presenter3 - 用户操作 - 这也可以用于多个活动。
目前,我已将所有 3 个演示者用于一个 Activity。我可以做些什么来仅使用单个演示者来访问 3 个演示者的所有方法?搜索了很多,但找不到任何相关的参考。谢谢
【问题讨论】:
标签:
android
mvp
presenter
【解决方案1】:
我不确定这是否是您正在寻找的答案,但您可以尝试类似 clean architecture 的架构,并在交互器中隔离每个用例的逻辑,然后将三个交互器注入一个 unic您活动的演示者。
稍后,当您需要重用该逻辑时,您将拥有一个 LoadUserInteractor 和一个 UserActionInteractor 来注入到新的演示者中。
如果您不想在您的架构中创建交互器,您可以创建一个具有加载用户数据和用户操作的方法的抽象呈现,并让您的活动呈现器使用加载活动数据扩展它,但我不确定很快就会给您带来一些维护问题。