Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է կախվածությունների ներդրումը և ինչպես է այն կիրառվում ծրագրավորման մեջ:

sobes.tech AI

Պատասխան AI-ից

Աշխատանքային կախվածությունների ներդրում (Dependency Injection, DI) — դա նախագծման ձևաչափ է, որի ժամանակ օբյեկտը ստանում է իր կախվածությունները (օրինակ՝ այլ օբյեկտներ կամ ծառայություններ) արտաքինից, այլ ոչ թե ինքն է ստեղծում դրանք: Սա օգնում է դարձնել կոդը ավելի մոդուլային, թեստավորվող և ճկուն:

Ծրագրավորման մեջ դա սովորաբար իրականացնում է կախվածությունների փոխանցմամբ դասի կոնստրուկտորին, սեթերների կամ ինտերֆեյսների միջոցով: Օրինակ՝ Android-ում հաճախ օգտագործում են DI գրադարաններ (Dagger, Hilt), որոնք ավտոմատ կերպով ստեղծում և փոխանցում են անհրաժեշտ օբյեկտները:

Kotlin-ում օրինակ՝

class Engine {
    fun start() = println("Մխոցը սկսվեց")
}

class Car(private val engine: Engine) {
    fun drive() {
        engine.start()
        println("Մեքենան շարժվում է")
    }
}

fun main() {
    val engine = Engine() // ստեղծում է կախվածությունը
    val car = Car(engine) // ներդնում է կախվածությունը
    car.drive()
}

Այստեղ Car-ը ինքնուրույն չի ստեղծում Engine-ը, այլ ստանում է այն արտաքինից, ինչը հեշտացնում է Engine-ի փոխարինումը կամ թեստավորումը։