Sobes.tech
Junior — Middle

Können Sie das Konzept der Dependency Injection erklären und wie es in der Softwareentwicklung angewendet wird?

sobes.tech KI

Antwort von AI

Dependency Injection (DI) ist ein Entwurfsmuster, bei dem Objekte ihre Abhängigkeiten von außen erhalten, anstatt sie selbst zu erstellen. Dies erhöht die Modularität, Testbarkeit und Flexibilität des Codes.

Beispiel: Anstatt dass die Klasse selbst ein Datenbankobjekt erstellt, erhält sie dieses über den Konstruktor oder einen Setter.

class Database:
    def query(self):
        return "Daten"

class Service:
    def __init__(self, db: Database):
        self.db = db

    def get_data(self):
        return self.db.query()

# Dependency Injection
database = Database()
service = Service(database)
print(service.get_data())

Dieser Ansatz erleichtert den Austausch von Abhängigkeiten (z.B. durch Mocks beim Testen) und verbessert die Wartbarkeit des Codes.