Junior — Middle
Bağımlılık enjeksiyonunun ne olduğunu ve programlamada nasıl uygulandığını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bağımlılık Enjeksiyonu (Dependency Injection, DI), bir nesnenin bağımlılıklarını (örneğin, diğer nesneleri veya servisleri) dışarıdan aldığı tasarım desenidir; bu, nesnenin bunları kendisinin oluşturmadığı anlamına gelir. Bu, kodu daha modüler, test edilebilir ve esnek hale getirir.
Programlamada, genellikle bağımlılıkların sınıfın yapıcısına, setter'lara veya arayüzler aracılığıyla iletilmesiyle uygulanır. Örneğin, Android'de sıkça kullanılan DI kütüphaneleri (Dagger, Hilt), gerekli nesneleri otomatik olarak oluşturup iletir.
Kotlin örneği:
class Engine {
fun start() = println("Motor çalıştı")
}
class Car(private val engine: Engine) {
fun drive() {
engine.start()
println("Araba sürüyor")
}
}
fun main() {
val engine = Engine() // bağımlılığı oluştur
val car = Car(engine) // bağımlılığı enjekte et
car.drive()
}
Burada, Car kendi başına Engine oluşturmaz, onu dışarıdan alır, bu da Engine'in değiştirilmesini veya test edilmesini kolaylaştırır.