Junior — Middle
Asılılıqların injeksiyasının nə olduğunu və proqramlaşdırmada necə tətbiq olunduğunu izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Asılılıqların İnkişafı (Dependency Injection, DI) — bu dizayn nümunəsidir, burada obyekt öz asılılıqlarını (məsələn, digər obyektlər və ya xidmətlər) xaricdən alır, özündə yaratmır. Bu, kodu daha modul, test edilə bilən və çevik edir.
Proqramlaşdırmada, bu adətən sinifin konstruktoruna, setter-lərə və ya interfeyslərə vasitəsilə asılılıqların ötürülməsi ilə həyata keçirilir. Məsələn, Android-də tez-tez DI kitabxanaları (Dagger, Hilt) istifadə olunur, hansı ki, lazım olan obyektləri avtomatik yaradır və ötürür.
Kotlin nümunəsi:
class Engine {
fun start() = println("Mühərrik işə düşdü")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Maşın hərəkətdə")
}
}
fun main() {
val engine = Engine() // asılılığı yaradırıq
val car = Car(engine) // asılılığı injektsiya edirik
car.drive()
}
Burada, Car öz-özünə Engine yaratmır, onu xaricdən alır, bu da Engine-in dəyişdirilməsini və ya test edilməsini asanlaşdırır.