Я понимаю, что лучше всего использовать одноэлементный шаблон для модифицированного объекта. Обычно я повторно использую объект Service Interface вместо модификации.
@Provides
@Singleton
RestAPIService providesRestAPIService(Retrofit retrofit) {
return retrofit.create(RestAPIService.class);
}
Однако теперь в моем проекте есть требование, согласно которому у меня есть разные KPI для каждой отдельной конечной точки (API отправки используют тайм-аут чтения 40 секунд, тогда как API извлечения имеют 10 секунд, а API проверки имеют время ожидания чтения 20 секунд).
Так как же правильно использовать DI для сценария тайм-аута чтения с несколькими различиями? Должен ли я создавать несколько экземпляров Okhttp, несколько экземпляров Retrofit или несколько экземпляров API?