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.