Android Retrofit Design Patterns
Ich verwende Retrofit, um mit meiner REST-API zu interagieren, und habe mich gefragt, ob jemand Konstruktionsvorschläge hat.
Meine App enthält die folgenden Pakete:
modelsDienstleistungeAktivitäte fragmenteDasDienstleistunge Paket enthält die Schnittstellen für Retrofit. Beispielsweise
public interface FooService {
@FormUrlEncoded
@POST("foo/do")
@Headers("Content-Type: application/x-www-form-urlencoded; charset=UTF-8")
Call<FooBar> do();
}
Models enthält ... nun ja, die verschiedenen Modelle. Zum Beispiel, FooBar. So weit so gut - genau wie in der Retrofit-Dokumentation.
Ich habe eine API-Klasse erstellt, die die Retrofit-Build-Logik Retrofit retrofit = new Retrofit.Builder()
etc) und legt ein statisches Feld frei: retrofit.In meinen Aktivitäten kann ich meine Anforderungen dann wie folgt ausführen:
FooService service = API.retrofit.create(FooService.class);
Call<FooBar> call = service.do();
try {
retrofit2.Response response = call.execute();
// ...do stuff...
} catch(IOException) {}
Und hiermit kommt meine Frage: Wäre es besser, obiges weiter zu abstrahieren? Damit ich das nicht überall wiederholen muss? Zum Beispiel so etwas wie:
MyOtherFooService service = new MyOtherFooService();
FooBar fooBar = service.do();
Irgendwelche Gedanken? Empfehlungen?