Sobes.tech
Junior — Middle

Може ли да се обясни какво е внедряване на зависимости и как се прилага в програмирането?

sobes.tech AI

Отговор от AI

Внедряването на зависимости (Dependency Injection, DI) е шаблон за проектиране, при който обект получава своите зависимости (например, други обекти или услуги) отвън, вместо да ги създава сам. Това помага кодът да стане по-модулен, тестируем и гъвкав.

Обикновено в програмирането това се реализира чрез предаване на зависимостите към конструктора на класа, чрез сетъри или чрез интерфейси. Например, в Android често се използват библиотеки DI (Dagger, Hilt), които автоматично създават и предават необходимите обекти.

Пример на Kotlin:

class Engine {
    fun start() = println("Двигателят стартира")
}

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("Колата се движи")
    }
}

fun main() {
    val engine = Engine() // създаваме зависимост
    val car = Car(engine) // внедряваме зависимост
    car.drive()
}

Тук Car не създава Engine самостоятелно, а го получава отвън, което улеснява замяната или тестването на Engine.