依赖注入 – DI容器如何工作的简单说明?

前端之家收集整理的这篇文章主要介绍了依赖注入 – DI容器如何工作的简单说明?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在简单的术语和/或高级伪代码中,DI容器如何工作以及如何使用?
在其核心,DI容器基于接口和具体类型之间的映射创建对象.

这将允许您从容器请求抽象类型:

IFoo f = container.Resolve<IFoo>();

这要求您先前配置容器从IFoo映射到实现IFoo的具体类(例如Foo).

这本身并不是特别令人印象深刻,但DI容器做得更多:

>他们使用自动布线,这意味着他们可以自动地弄清楚,如果IFoo将Foo和IBar映射到Bar,但Foo依赖于IBar,那么当您请求IFoo时,它将创建一个带有Bar的Foo实例.
他们管理组件的使用寿命.你们每次都想要一个新的Foo实例,但在其他情况下,你可能需要同样的实例.您甚至可能每次都想要新的Foo实例,但是注入的Bar应该保持不变.

一旦您开始尝试手动管理构图和生命周期,您应该开始欣赏DI容器提供的服务:)

许多DI容器可以做得比以上更多,但这些是核心服务.大多数集装箱提供configuring via either code or XML的选择.

关于容器的正确使用,Krzysztof Kozmic刚刚发布了a good overview.

原文链接:https://www.f2er.com/javaschema/281775.html

猜你在找的设计模式相关文章