Junior — Middle
89
Имел ли ты опыт использования Dependency Injection в своих проектах?
Компании, где спрашивали
Мидлэнд
Ответ от нейросети
sobes.tech AI
Да, в проектах на iOS я использовал Dependency Injection (DI) для повышения модульности и тестируемости кода. DI позволяет передавать зависимости (например, сервисы, менеджеры) в объекты извне, а не создавать их внутри.
Пример простого DI в Swift:
protocol NetworkService {
func fetchData()
}
class RealNetworkService: NetworkService {
func fetchData() {
// Реализация
}
}
class ViewModel {
private let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Использование
let service = RealNetworkService()
let viewModel = ViewModel(networkService: service)
Такой подход облегчает замену зависимостей на мок-объекты при тестировании и улучшает архитектуру приложения.