Kann ich MVP Presenter in Fragment registrieren?

8

Ich habe MVP-Designmuster aus Google verfolgt, um meine Anwendung zu überarbeiten. Ich habe eine MainActivity und viele Fragmente und es scheint wenig chaotisch für mich zu sein, Aktivität für jedes Fragment zu erzeugen, also habe ich mir überlegt, den Moderator als Fragment zu registrieren. Was ich sehe, ist, dass jedes Fragment seinen eigenen Moderator registriert, aber ich bin nicht sicher, wie viel falsch es ist ...:)

Also hier ist mein Presenter:

%Vor%

Und hier ist mein Fragment:

%Vor%

Also meine Frage ist, ist das richtig? Kann ich Moderator stattdessen in Aktivität in Fragment registrieren? Und wenn es nicht der richtige Weg ist, gibt es ein gutes Beispiel, um MVP mit einer Aktivität und mehreren Fragmenten zu behandeln?

Danke Leute, BR!

    
MilanNz 15.03.2017, 20:25
quelle

1 Antwort

8

Wie Sie in Google Beispielen sehen können ( Ссылка ), Activities create% Code%. Auch Presenters attach an Views und Activity erhalten Ansichten ( Presenters ) als Parameter.

Nach Fragments transaction committed oder Fragment (view) Zustand wiederhergestellt Fragment wird erstellt und nimmt Presenters (views) als Parameter als Aufruf

an %Vor%

Methoden von Sichten und Fragments werden zur Ansicht registriert.

Ich denke, das Erstellen von Presenters in Presenter ist keine gute Übung. Zuallererst sind sie separate Ebenen . Dies ist für Trennung von Bedenken verboten. Und zweitens, wenn Sie den Moderator in Fragment erstellen, binden Sie das Leben Ihres Moderators an die Fragment der Ansicht und wenn LifeCycle zerstört und neu erstellt wird, erstellen Sie einen neuen Moderator, aber sie sind verschiedene Ebenen.

Das Modell ist eine Schnittstelle, die die Daten definiert, die auf der Benutzeroberfläche angezeigt oder anderweitig verarbeitet werden sollen.

Der Moderator wirkt auf das Modell und die Ansicht. Es ruft Daten aus Repositories (dem Modell) ab und formatiert sie zur Anzeige in der Ansicht.

Die Ansicht ist eine passive Schnittstelle, die Daten (das Modell) anzeigt und Benutzerbefehle (Ereignisse) an den Präsentator weiterleitet, um auf diese Daten zu reagieren.

So kann Fragment als Activity fungieren, wodurch die overall controller und Presenters erstellt und verbunden werden.

Wenn wir über Ihre Frage sprechen, können Sie den Moderator als Fragment registrieren. Sie sollten jedoch vermeiden, Präsentatoren in Fragmenten zu erstellen, die Sie als Ansicht verwenden.

Aber es gibt viele verschiedene Ansätze in Bezug auf MVP-Muster in der Android-Community wie unten. Ссылка

Warum Aktivitäten sind keine Elemente? Ссылка

    
savepopulation 15.03.2017, 21:23
quelle