Как правильно инициализировать Retrofit в MVP?
В интернете нашёл два пути решения проблемы инициализации Retrofit. Как я понял, он должен быть Singleton. Если я использую MVP в своём проекте, то с точки зрения архитектуры и SOLID разумнее будет выделить отдельный класс-singleton для инициализации Retrofit и потом с помощью Dagger 2 инжектить его в свои активити/фрагменты или же тупо инициализировать Retrofit в классе App, который наследует от Application?
Ответы (1 шт):
Автор решения: ЮрийСПб
→ Ссылка
- Создайте отдельный модуль. Например
NetworkModule. - В нём сделайте методы с
@Provideаннотацией, которые будут возвращать Retrofit, OkHttp и прочие нужные вещи. - Используйте модуль в компоненте.
- Инжектите куда нужно. При этом желательно обернуть это в репозиторий/интерактор