Sobes.tech
Junior — Middle

Meg lehet magyarázni, mi az a függőséginjektálás, és hogyan alkalmazzák a programozásban?

sobes.tech MI

Válasz az MI-től

Függőséginjektálás (Dependency Injection, DI) egy tervezési minta, amelyben egy objektum a függőségeit (például más objektumokat vagy szolgáltatásokat) kívülről kapja, nem maga hozza létre azokat. Ez segít a kód modularitásának, tesztelhetőségének és rugalmasságának növelésében.

Programozásban általában a függőségek átadásával a osztály konstruktorán keresztül, settereken vagy interfészeken keresztül valósítják meg. Például Androidban gyakran használnak DI könyvtárakat (Dagger, Hilt), amelyek automatikusan létrehozzák és átadják a szükséges objektumokat.

Kotlin példában:

class Engine {
    fun start() = println("Motor elindult")
}

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("Az autó halad")
    }
}

fun main() {
    val engine = Engine() // függőség létrehozása
    val car = Car(engine) // függőség injektálása
    car.drive()
}

Itt a Car nem hozza létre az Engine-t saját maga, hanem kívülről kapja, ami megkönnyíti az Engine cseréjét vagy tesztelését.