Mic*_*ael 6 c# lifecycle dependency-injection ninject
我想知道如何使用DI管理对象.假设我有一堂课
class Foo : IFoo, IDisposable
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后这个类被注入另一个类
class Bar
{
public Bar(IFoo foo)
{
this.Foo = foo
}
IFoo Foo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我在一些范围内绑定它(我的例子使用MVC和Ninject)
this.Bind<IFoo>().To<Foo>().InRequestScope();
Run Code Online (Sandbox Code Playgroud)
我想知道,因为依赖注入框架处理生命周期Foo,我应该实现IDispoable Bar吗?我的想法是DI正在管理其生命周期Foo,所以不要触摸它,以防其他类使用Foo.此外,由于一次性对象Bar作为构造函数参数传递,因此Bar不会包装一次性对象,因此它不知道后面Bar要使用的调用者是如何进行垃圾回收的.这是正确的吗?FooBar
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |