Μπορείτε να εξηγήσετε τι είναι η εισαγωγή εξαρτήσεων και πώς εφαρμόζεται στον προγραμματισμό;
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.