gpt4 book ai didi

.net - Unity IOC Buildup vs Resolve?

转载 作者:行者123 更新时间:2023-12-03 12:47:20 24 4
gpt4 key购买 nike

我想知道在使用 Unity IOC 时何时使用 buildup 以及何时使用 resolve。

我什么时候叫拆解?

谢谢

最佳答案

当您希望 Unity 容器构造实例时使用 Resolve(当您需要它时创建一个新实例或预先存在的单例),注入(inject)其依赖项并将对对象的引用交给您。

当您已经拥有对象的实例并希望容器仅解析和注入(inject)其依赖项时,使用 BuildUp。

Teardown 与 BuildUp 相反。您可以将对象传递给容器的 Teardown 方法以关闭/清理/任何您想要的。现有的容器行为在 Teardown 时没有任何作用,但可以编写扩展来利用这一点。您还可以使您的对象实现 IDisposable,并且容器会在您的对象自行处理时调用 Dispose()。

IMyService service = container.Resolve<MyService>(); // New service or pre-existing singleton

IMyService service = GetMyService(); // Get the instance from some source
container.BuildUp(service); // Inject dependencies
container.Teardown(service); // Clean-up

关于.net - Unity IOC Buildup vs Resolve?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2046408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com