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!
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
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? Ссылка
Tags und Links android mvp android-activity android-fragments android-mvp