4

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

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

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

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

谢谢

在此处输入图像描述

PS:对于流程图的混乱,使用draw.io *耸耸肩* 3分钟抱歉。

4

1 回答 1

0

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

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

MVP规则:

将表示(视图)层与逻辑分开。

于 2017-09-26T08:48:58.763 回答