Junior — Middle
103
Explique le concept d'injection de dépendances et comment il est appliqué en programmation.
Entreprises à qui on a demandé
Waveaccess
Réponse de l'IA
sobes.tech IA
Внедрение зависимостей (Dependency Injection, DI) — это паттерн проектирования, при котором объект получает свои зависимости извне, а не создает их самостоятельно. Это повышает модульность, упрощает тестирование и улучшает поддержку кода.
В iOS-программировании DI часто реализуется через передачу зависимостей в конструктор класса или через свойства. Например, если у вас есть класс ViewController, который зависит от сервиса NetworkService, вы можете передать этот сервис в инициализатор:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Использование:
let service = NetworkService()
let vc = ViewController(networkService: service)
Такой подход позволяет легко заменить NetworkService на мок-объект при тестировании, а также улучшает читаемость и поддержку кода.