所以我不久前阅读了 .NET 中的依赖注入这本书。现在尝试使用DIC。但是,我有一些我不太明白的事情。两个例子:
1.如果我有一些旧代码或使用这样的单例静态方法的第 3 方 dll:
var objTool = ThirdPartyTool.GetInstance();
objTool.DoStuff();
...
2.如果我在创建临时对象的方法中有一些代码:
var tempOrder = new Order();
tempOrder.Total = strArray.[0];
tempOrder.ItemId = strArray.[1];
tempOrder.ShipAddress = strArray[2];
if(Customer.HasConfirmedOrder) { Customer.Order = tempOrder; }
...
在这两种情况下,在我进入 DIC 世界之前,我知道那些对象在超出范围时自然会被 GC 收集,或者如果有一个 Dispose() 可以调用,我有责任在我使用对象后在某个地方调用它.
DIC 如何对待他们?(我在 .NET 4 MVC 3 项目上运行 Ninject,但我猜其他语言/项目和 DIC 具有几乎相同的结构)