2017-06-11 4 views
0
@Provides 
@Singleton 
LoginPresenter provideLoginPresenter() { 
    return new LoginPresenterImplementation(); 
} 

Mein Ansatz, wenn ich eine Android-App entwerfe, ist MVP. Ich benutze Dolch für die Abhängigkeitsinjektion. Wenn ich einen Interface Presenter erstelle, habe ich es Singleton gemacht.Android Dolch Singleton-Moderator

Jemand schlägt mir vor, es nicht Singleton zu machen, weil es schwer zu merken ist.

Was schlagen Sie vor? Verwenden Sie es wie Singleton oder nicht? Ich erwarte pro und gegen Meinungen.

+0

Die Singleton-Annotation ist optional, Sie müssen sie also nicht verwenden. Und Sie können in Ihrer Anwendung beliebig viele benutzerdefinierte Bereichsanmerkungen definieren, indem Sie sie als öffentliche @ Schnittstelle deklarieren. – kimkevin

Antwort

2

Die Singleton in Dolch ist das gleiche wie eine Instanz zu schaffen und Referenzierung, aber es gibt 2 Punkt, den Sie zu kümmern haben:

  1. einen Singleton in Anwendungsklasse zu haben, bedeutet, ein Objekt zu schaffen, wenn Immer startet die App und speichert sie bis zum Ende, das für einige APIs notwendig ist, aber meistens lädt man einige Klassen, benutzt sie in einer Aktivität und dann muss man sie beenden, nachdem man mit ihnen fertig ist, weil es eine Frage des Speichers ist Management.

  2. Singleton Annotation funktioniert gut, wenn Sie es zu Ihrem Anwendungsmodul hinzufügen (das wichtigste, das Sie in Application-Klasse zuweisen), aber wenn Sie es für Submodule verwenden, dann müssen Sie darauf achten, sie am Leben zu halten.

Sie können mit MVP http://github.com/mmirhoseini/marvel und diesen Artikel https://hackernoon.com/yet-another-mvp-article-part-1-lets-get-to-know-the-project-d3fd553b3e21 bekommen mehr vertraut in diesem Beispielprojekt einen Blick darauf werfen.