Back to questions
Wildberries
Junior — Middle
85
Можно ли объяснить, что такое внедрение зависимостей и как оно применяется в программировании?
Companies where asked
ООО Возрождение
Effective Technologies
Willdberies
Answer from AI
sobes.tech AI
Внедрение зависимостей (Dependency Injection, DI) — это паттерн проектирования, при котором объект получает свои зависимости (например, другие объекты или сервисы) извне, а не создает их самостоятельно. Это помогает сделать код более модульным, тестируемым и гибким.
В программировании это обычно реализуется через передачу зависимостей в конструктор класса, сеттеры или через интерфейсы. Например, в Android часто используют библиотеки DI (Dagger, Hilt), которые автоматически создают и передают нужные объекты.
Пример на Kotlin:
class Engine {
fun start() = println("Engine started")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Car is driving")
}
}
fun main() {
val engine = Engine() // создаем зависимость
val car = Car(engine) // внедряем зависимость
car.drive()
}
Здесь Car не создает Engine самостоятельно, а получает его извне, что упрощает замену или тестирование Engine.