Sobes.tech
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.