Premiers pas avec l'injection de dépendances

Qu’est-ce qu’un exemple basique d’injection de dépendance ?

Voici une classe (Chien) créant sa propre dépendance (Nourriture) :

class Dog {
    public Dog() {
        var food = new Food();

        this.eat(food);
    }
}

Voici la même classe injectée avec sa dépendance à l’aide de l’injection de constructeur :

class Dog {
    public Dog(Food food) {
        this.eat(food);
    }
}