I have an Android app which I am refactoring to use MVP. I have an Activity that has two Fragments.
Scenario 1 (one presenter): The presenter "knows" each view. So, if one view receives input a presenter method is called and it could call a method of any of the views.
- Advantage: flexible
- Disadvantage: the presenter might get really big
Scenario 2 (three presenters): Each presenter only knows its own view and any other presenter. It calls methods only on the other presenters it knows or its own view.
- Advantage: strict modularity, flow may be more obvious
- Disadvantage: a lot of overhead (two more interfaces and presenter classes).
This is meant for one Activity only and not for the communication between Activities.
Which is the way to go with MVP or does it depend on the use case?
Edit: I tend to use the structure described in the first scenario. It makes the most sense to me. My only problem is, that I don't know whether this is proper MVP or I am making up something new on my own (which I don't want).