Back to questions
Junior — Middle
73
Расскажите о вашем опыте использования Dependency Injection в проектах.
Companies where asked
ВанТу Ворк
Answer from AI
sobes.tech AI
В проектах на Android я использовал Dependency Injection (DI) для упрощения управления зависимостями и повышения тестируемости кода. Чаще всего применял библиотеку Dagger/Hilt.
DI позволяет:
- Инвертировать управление созданием объектов,
- Легко подменять реализации для тестов,
- Уменьшить связанность компонентов.
Пример с Hilt:
@HiltAndroidApp
class MyApp : Application()
@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
@Provides
fun provideApiService(): ApiService {
return Retrofit.Builder()
.baseUrl("https://api.example.com")
.build()
.create(ApiService::class.java)
}
}
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject lateinit var apiService: ApiService
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// apiService готов к использованию
}
}
Такой подход значительно упрощает масштабирование и поддержку приложения.