2015-05-13 8 views
19

Ich weiß, dass Dolch eine Abhängigkeitsinjektion Framework ist, aber ich habe es noch nicht in meinen Projekten verwendet.Wann Dolch in Android-Anwendung zu verwenden?

Ich beginne ein neues Projekt und frage mich, ob Dagger dafür geeignet ist. Soweit ich weiß, führt die Verwendung von Dolch zu einer Menge Code und Anmerkungen. Also ich bin mir nicht sicher, ob es für mein relativ einfaches Projekt kein Overkill ist.

Ein bisschen über das Projekt. Es konzentriert sich auf die Bildverarbeitung und der Hauptteil der Funktionalität ist darauf aufgebaut. Es wird jedoch wahrscheinlich auch ein einfaches Backend für die Datenspeicherung haben.

Im Allgemeinen möchte ich einige grundlegende Prinzipien kennen, die ich verwenden kann, um mit Dolch für ein Projekt zu verwenden oder nicht.

Antwort

17

Grundlegendes:

Angenommen, möchten Sie Ihre Anwendung testen, die mit Credit Card Service beschäftigt. Zu Testzwecken dürfen Sie nicht auf einen echten RPCCreditCardService zugreifen, da es echte Transaktionen und andere Dinge benötigt, die Sie während der Entwicklung nicht ausführen möchten. In diesem Fall müssen Sie einen gefälschten Klon-Dienst erstellen, der das gleiche nachahmt wie der echte CreditCardService, aber nichts abwickelt. Wenn Sie das Dependency-Injection-Framework verwenden, können Sie allgemeine Aufgaben in einer Abhängigkeit definieren und sie sowohl in gefälschten als auch in echten Service injizieren. Es wird die Codierungskomplexität minimieren und dazu beitragen, jedes Modul unabhängig zu machen.

Aus der Dokumentation:

von Dependency Injection-Framework verwendet wird, ist jede Klasse zu testen, einfach. Sie brauchen nicht einen Haufen Boilerplate, nur um den RpcCreditCardService gegen einen FakeCreditCardService zu tauschen.

Die Abhängigkeitsinjektion dient nicht nur zum Testen. Außerdem können wiederverwendbare, austauschbare Module einfach erstellt werden. Sie können dasselbe AuthenticationModule für alle Ihre Apps verwenden. Und Sie können DevLoggingModule während der Entwicklung und ProdLoggingModule in der Produktion ausführen, um in jeder Situation das richtige Verhalten zu erzielen.

Referenz:

Für detaillierteres Verständnis Sie this discussion überprüfen können.

+1

Die Frage war über Dolch, nicht Abhängigkeitsinjektion. –

+3

Dolch ist ein Abhängigkeits-Injection-Framework – Idee