dependency-injection开始使用依赖注入


备注

在面向对象的编程中,对象通常依赖于其他对象来执行操作。

依赖注入 (DI)为对象提供它依赖的东西,因此它不必担心自己获取它们。也就是说,依赖关系被注入到对象中。这通常通过构造函数注入属性注入来完成

依赖注入是控制反转 (IoC)的一种形式。 IoC是一个更广泛的术语,描述了软件设计的模式。

在传统的程序编程中,控制流程按逻辑步骤进行。控件掌握在执行操作的对象或功能的手中。程序逐步执行一系列明确控制的操作。

通过使操作由更通用和抽象的对象(通常是范围更广的框架)来执行,而不是详细描述每个步骤的对象或函数,可以反转控制流。

依赖注入的基本示例是什么?

这是一个创建自己的依赖项(Food)的类(Dog):

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

        this.eat(food);
    }
}
 

这是使用构造函数注入注入其依赖项的同一个类:

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