Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι η εισαγωγή εξαρτήσεων και πώς εφαρμόζεται στον προγραμματισμό;

sobes.tech AI

Απάντηση από AI

Η Εισαγωγή Εξαρτήσεων (Dependency Injection, DI) είναι ένα μοτίβο σχεδίασης όπου ένα αντικείμενο λαμβάνει τις εξαρτήσεις του (π.χ. άλλα αντικείμενα ή υπηρεσίες) από έξω, αντί να τις δημιουργεί μόνο του. Αυτό βοηθάει στο να γίνει ο κώδικας πιο αρθρωτός, δοκιμάσιμος και ευέλικτος.

Στον προγραμματισμό, αυτό υλοποιείται συνήθως μέσω της μεταφοράς των εξαρτήσεων στον κατασκευαστή της κλάσης, μέσω setters ή μέσω διεπαφών. Για παράδειγμα, στο 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.