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.