Junior — Middle
Lze vysvětlit, co je to injekce závislostí a jak se používá v programování?
sobes.tech AI
Odpověď od AI
Vstřikování závislostí (Dependency Injection, DI) je návrhový vzor, při kterém objekt získává své závislosti (například jiné objekty nebo služby) zvenčí, místo toho, aby si je sám vytvářel. To pomáhá učinit kód modulárnější, testovatelnější a flexibilnější.
V programování se to obvykle realizuje předáváním závislostí do konstruktoru třídy, přes setter nebo prostřednictvím rozhraní. Například v Androidu se často používají knihovny DI (Dagger, Hilt), které automaticky vytvářejí a předávají potřebné objekty.
Příklad v Kotlin:
class Engine {
fun start() = println("Motor spuštěn")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Auto jezdí")
}
}
fun main() {
val engine = Engine() // vytvoření závislosti
val car = Car(engine) // injektování závislosti
car.drive()
}
Zde Car nevytváří Engine sám, ale jej přijímá zvenčí, což usnadňuje jeho výměnu nebo testování.