Ich möchte meine nächste Anwendung mit MVP-Muster implementieren, also begann ich einige Artikel darüber zu lesen, wie es implementiert werden sollte. Das Hauptproblem für mich ist, dass es verschiedene Ansätze für dieses Muster gibt. Einige Leute sagen, dass wir Aktivität als eine Sichtweise betrachten sollten, aber einige andere sollten diese Aktivität als Moderatorin behandeln.Android MVP - sollte eine Aktivität eine Ansicht oder ein Moderator sein?
Aktivität als eine Ansicht ist hier beschrieben: und es ist sinnvoll. Aber auf der anderen Seite fand ich diese Antwort mit ein paar Upvotes https://stackoverflow.com/a/7609943 und jemand sagt, dass Aktivität sollte ein Moderator sein.
Hat jemand eine Erfahrung mit diesem Muster?
Ansicht bedeutet nicht, Details der Implementierung zu Grunde liegen. Eine Ansicht ist nur eine Abstraktion, die auf viele Arten implementiert werden kann (eine GWT-Ansicht, eine Mock-Ansicht, eine Android-basierte Ansicht).Ich glaube wirklich, dass eine Aktivität in Android näher an der Ansicht ist, da die Aktivität dazu neigt, die Implementierungsdetails (zugrunde liegendes Layout-XML usw.) zu kennen. Beim Komponententest ist der Presenter eine Aktivität, die Sie an die Android-Umgebung bindet, während ein separater View-Layer-Agnostic-Moderator viel mehr Flexibilität bietet (Sie können Ihre Moderatoren auf diese Weise einfach mit 'mvn test' testen). –
Was schlagen Sie als Moderator vor? –
Wie ich oben gesagt habe, sollte der Moderator ein agnostischer Zwischenmensch sein. Zum Beispiel kann es sich um eine einfache Klasse handeln, die im einfachsten Fall über Schnittstellen auf ein Modell und eine Ansicht verweist und die Interaktion und den Workflow zwischen dem Modell und der Ansicht diktieren kann. Angenommen, Sie haben einen solchen Präsentator, der leicht für verschiedene Umgebungen wiederverwendet werden kann: Android, GWT usw. –