Junior — Middle
Може ли да се објасни шта је убризгавање зависности и како се примењује у програмирању?
sobes.tech АИ
Одговор од АИ
Umetanje zavisnosti (Dependency Injection, DI) je obrazac dizajna u kojem objekat prima svoje zavisnosti (na primer, druge objekte ili servise) spolja, umesto da ih sam kreira. Ovo pomaže da se kod učini modularnijim, lakšim za testiranje i fleksibilnijim.
U programiranju se ovo obično realizuje putem prosleđivanja zavisnosti u konstruktor klase, putem settera ili putem interfejsa. Na primer, u Androidu često koriste DI biblioteke (Dagger, Hilt) koje automatski kreiraju i prosleđuju potrebne objekte.
Primer u Kotlinu:
class Engine {
fun start() = println("Motor je pokrenut")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Auto vozi")
}
}
fun main() {
val engine = Engine() // kreiranje zavisnosti
val car = Car(engine) // injektovanje zavisnosti
car.drive()
}
Ovde, Car ne kreira Engine samostalno, već ga dobija spolja, što olakšava zamenu ili testiranje Engine-a.