【问题标题】:MVP Interactors and Use cases relationshipMVP 交互者和用例的关系
【发布时间】:2018-03-07 02:30:23
【问题描述】:

我最近一直试图从架构的角度来理解 MVP 架构中交互器和用例之间的关系。我的疑问是关于部件之间的通信以及符合 MVP 标准的内容。

问题是我见过很多相互矛盾的流程图。其中一些似乎每个演示者都有一个交互者,另一些似乎每个演示者有多个交互者(每个交互者拥有多个相互关联的用例,例如所有与用户相关的案例),而其他似乎没有完全使用交互器,直接与演示者交流用例。

我的主要(也是非常菜鸟)问题:从 MVP 的角度来看,是否可以让演示者与多个交互者进行通信,或者每个演示者应该只有一个交互者? 有一些场景特定视图需要来自各种不同模型的数据,那么有人将如何处理这些数据?

为了问题的完整性,我附上了一个演示者持有两个交互者的流程图,并说明我的观点需要处理不同模型结构的演示者(用户属于公司,但让我们假设我还需要显示只能通过 CompanyInteractor 获得的其他公司信息,并且在 UserInteractor 上复制没有任何意义)。 如果“每个演示者一个交互者”是答案,那么每个演示者的单个交互者是否应该与演示者需要的所有不同的、不相关的用例进行通信?

谢谢

PS: 很抱歉流程图的混乱,使用draw.io *shrug* 3分钟。

【问题讨论】:

    标签: android architecture mvp android-mvp


    【解决方案1】:

    只要只有一个视图,您就可以根据需要使用尽可能多的交互器。没有限制,但为了避免样板编码,通常一个交互器就足够了。

    在您的场景中,您可以拥有一个Base Presenter,您可以将请求传递或接收到相应的类。

    MVP 规则:

    将表示层(View)从逻辑中分离出来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 2018-01-17
      • 2011-07-13
      • 2016-06-15
      • 1970-01-01
      • 2016-10-02
      • 2010-09-20
      相关资源
      最近更新 更多