2017-11-27 3 views
1

Ich habe ein Android-Studio-Projekt, das eine MVP-Architektur verwendet. Was ist die empfohlene Pakete Struktur für ein Projekt dieser Art wir tun können:Best Practice für Paketstruktur in einem MVP-Projekt

app: 
    screen_name 
    activityA 
    presenterA 
    interfaceA 

or: 
    activities 
    activityA 
    activityB 
    preentors 
    presentorA 
    presentorB 
etc 
+0

Paket durch Eigenschaft, nicht Schichten. –

Antwort

0

Ihr Problem ist nur nur ui Teil MVP die Ansicht Klassen zusammen mit ihren entsprechenden Presenters ist. Und die bessere Lösung ist die zweite Struktur.

enter image description here

App sollte Verpackung nach Merkmale nicht durch die gemeinsame Funktionalität. Also sollten wir Gruppe zusammen die Klassen, die sich immer verändert/verändern zusammen.

Meist Entwickler gruppieren sie so, weil sie dies tun, das gleiche Paket-Struktur für alle Anwendungen auf dem sie arbeiten zu halten. Aber das ist eine sehr falsche Entscheidung, weil es immer schwierig ist, Klassen zu finden, wenn sie nur gruppiert sind, weil sie die gleichen Elternklassen teilen!

Wie alle Aktivitäten der meisten Entwickler in Aktivität Paket geschnürt, weil alle Aktivitätsklassen die Activity-Klasse erweitert. Das macht Sinn, dass dies nur ein mit der Aktivität zusammenhängendes Paket ist, aber es ist schwer diese Pakete zu durchlaufen.

Weitere Informationen finden Sie unter: android-mvp-architecture und diese S.O answer

0

MVP ist eine gute Wahl. Sie können folgende Muster folgen:

App: 1. Aktivitäten: + Schnittstelle zur Ansicht (dh Aktivität) + tatsächliche Aktivität Java-Klasse 2. Presenter zu repräsentieren: + Schnittstelle zum repräsentiert Moderator + Java-Klasse darstellen Moderator Umsetzung 3. Modell: + Schnittstelle zum repräsentiert Modell + Java-Klasse Modellimplementierung darstellen (do Netzwerk ruft hier, übergeben Rückruf Moderatorin, die dann Daten zur Aktivität gibt)

0

Zusätzlich zu den anderen Antworten würde ich empfehlen, 01 zu betrachten, die Ihnen Anregungen geben können, wie Sie Ihre Anwendung organisieren und implementieren.