Junior — Middle
Kun je uitleggen wat dependency injection is en hoe het wordt toegepast in programmeren?
sobes.tech AI
Antwoord van AI
Dependency Injection (DI) is een ontwerppatroon waarbij een object zijn afhankelijkheden (bijvoorbeeld andere objecten of services) van buitenaf ontvangt, in plaats van ze zelf te creëren. Dit helpt om de code modularer, testbaarder en flexibeler te maken.
In programmeren wordt dit meestal gerealiseerd door afhankelijkheden via de constructor, setters of interfaces te injecteren. Bijvoorbeeld, in Android worden vaak DI-bibliotheken (Dagger, Hilt) gebruikt die automatisch de benodigde objecten aanmaken en doorgeven.
Voorbeeld in Kotlin:
class Engine {
fun start() = println("Motor gestart")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Auto rijdt")
}
}
fun main() {
val engine = Engine() // afhankelijkheid maken
val car = Car(engine) // afhankelijkheid injecteren
car.drive()
}
Hier creëert Car niet zelf Engine, maar ontvangt het van buiten, wat het vervangen of testen van Engine vergemakkelijkt.