Junior — Middle
Môžete vysvetliť, čo je injekcia závislostí a ako sa používa v programovaní?
sobes.tech AI
Odpoveď od AI
Vstrekovanie závislostí (Dependency Injection, DI) je návrhový vzor, pri ktorom objekt dostáva svoje závislosti (napríklad iné objekty alebo služby) zvonku, namiesto toho, aby si ich sám vytváral. To pomáha spraviť kód modulárnejším, testovateľnejším a flexibilnejším.
V programovaní sa to zvyčajne realizuje prostredníctvom odovzdania závislostí do konštruktora triedy, cez setter alebo cez rozhrania. Napríklad v Androide sa často používajú knižnice DI (Dagger, Hilt), ktoré automaticky vytvárajú a odovzdávajú potrebné objekty.
Príklad v Kotlin:
class Engine {
fun start() = println("Motor spustený")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Auto jazdí")
}
}
fun main() {
val engine = Engine() // vytvorenie závislosti
val car = Car(engine) // injektovanie závislosti
car.drive()
}
Tu Car nevytvára `Engine sám, ale ho dostáva zvonku, čo uľahčuje jeho výmenu alebo testovanie.