因此,现在依赖注入的责任是:
Posted: Sat Apr 19, 2025 5:55 am
我们需要使用新的横滨依赖项重新创建汽车对象。但是当使用依赖注入(DI)时,我们可以在运行时更改 Wheel(因为依赖项可以在运行时而不是在编译时注入)。
您可以将 DI 视为我们代码中的中间人,它完成创建所选车轮对象并将其提供给 Car 类的所有工作。 它使我们的 Car 类独立于 Wheel、Battery 等对象的创建。
依赖注入基本上有三种类型:
构造函数注入: 通过类构造函数提供依赖项。
设置器注入: 客户端公开一个设置器方法,注入器使用该方法来注入依赖项。
接口注入: 依赖项提供了一种注入器方法,它将依赖项注入到传递给它的 匈牙利电报号码数据 任何客户端中。客户端必须实现一个接口,该接口公开一个接受依赖项的 setter 方法。
创建对象
知道哪些类需要该对象
并将所有这些东西都给他们。
如果对象发生变化,则 DI 会对其进行调查,并且不会影响使用该对象的类。这样,如果对象将来发生变化,那么 DI 就有责任向类提供适当的对象。
使用 DI 的好处
协助单元测试。
由于依赖初始化由注入器组件执行,因此样板代码减少了。
扩展应用程序变得更加容易。
有助于实现松散耦合,这在应用程序编程中很重要。
您可以将 DI 视为我们代码中的中间人,它完成创建所选车轮对象并将其提供给 Car 类的所有工作。 它使我们的 Car 类独立于 Wheel、Battery 等对象的创建。
依赖注入基本上有三种类型:
构造函数注入: 通过类构造函数提供依赖项。
设置器注入: 客户端公开一个设置器方法,注入器使用该方法来注入依赖项。
接口注入: 依赖项提供了一种注入器方法,它将依赖项注入到传递给它的 匈牙利电报号码数据 任何客户端中。客户端必须实现一个接口,该接口公开一个接受依赖项的 setter 方法。
创建对象
知道哪些类需要该对象
并将所有这些东西都给他们。
如果对象发生变化,则 DI 会对其进行调查,并且不会影响使用该对象的类。这样,如果对象将来发生变化,那么 DI 就有责任向类提供适当的对象。
使用 DI 的好处
协助单元测试。
由于依赖初始化由注入器组件执行,因此样板代码减少了。
扩展应用程序变得更加容易。
有助于实现松散耦合,这在应用程序编程中很重要。