Sobes.tech
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.