Sobes.tech
Junior — Middle

Vai var paskaidrot, kas ir atkarību injekcija un kā tā tiek izmantota programmēšanā?

sobes.tech AI

Atbilde no AI

Atkarību injekcija (Dependency Injection, DI) ir dizaina paraugs, kurā objekts saņem savas atkarības (piemēram, citus objektus vai pakalpojumus) no ārpuses, nevis tās pats izveido. Tas palīdz padarīt kodu modulārāku, testējamu un elastīgāku.

Programmēšanā tas parasti tiek īstenots, nododot atkarības konstruktorā, izmantojot setterus vai interfeisus. Piemēram, Android bieži izmanto DI bibliotēkas (Dagger, Hilt), kas automātiski izveido un nodod nepieciešamos objektus.

Kotlin piemērs:

class Engine {
    fun start() = println("Motors ieslēgts")
}

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("Mašīna brauc")
    }
}

fun main() {
    val engine = Engine() // izveido atkarību
    val car = Car(engine) // injicē atkarību
    car.drive()
}

Šeit Car pats neizveido Engine, bet to saņem no ārpuses, kas atvieglo Engine nomaiņu vai testēšanu.