Junior — Middle
Se poate explica ce este injecția de dependențe și cum se aplică în programare?
sobes.tech AI
Răspuns de la AI
Injecția de dependințe (Dependency Injection, DI) este un pattern de proiectare în care un obiect primește dependențele sale (de exemplu, alte obiecte sau servicii) din exterior, în loc să le creeze singur. Acest lucru ajută la făcut codul mai modular, testabil și flexibil.
În programare, acest lucru se realizează de obicei prin transmiterea dependențelor în constructorul clasei, prin setters sau prin interfețe. De exemplu, în Android, se folosesc adesea biblioteci DI (Dagger, Hilt) care creează și transmit automat obiectele necesare.
Exemplu în Kotlin:
class Engine {
fun start() = println("Motor pornit")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Mașina se deplasează")
}
}
fun main() {
val engine = Engine() // creăm dependența
val car = Car(engine) // injectăm dependența
car.drive()
}
Aici, Car nu creează Engine singur, ci îl primește din exterior, ceea ce face mai ușor înlocuirea sau testarea lui Engine.