.net 使用Decorator模式的Ninject依赖项注入
比如说,我有这样的类层次结构:.net 使用Decorator模式的Ninject依赖项注入,.net,inversion-of-control,ninject,decorator,.net,Inversion Of Control,Ninject,Decorator,比如说,我有这样的类层次结构: public interface IRepository { } public class SomeSimpleRepository : IRepository {} 现在我想用附加功能“装饰”一些简单的存储 public class MoreAdvancedRespository : IRepository { private readonly IRepository _originalRepository; public MoreAd
public interface IRepository { }
public class SomeSimpleRepository : IRepository {}
现在我想用附加功能“装饰”一些简单的存储
public class MoreAdvancedRespository : IRepository
{
private readonly IRepository _originalRepository;
public MoreAdvancedRespository(IRepository original)
{ }
}
过了一会儿又来了一个
public class TrickyRepository : IRepository
{
private readonly IRepository _originalRepository;
public TrickyRepository (IRepository original)
{ }
}
现在,我需要完成绑定。在应用程序中,我需要TrickyRepository的实例,用MoreAdvancedRespository初始化。所以,我需要写一些东西,比如:
Bind<IRepository>().To<TrickyRepository>.With ??
Bind().To.With??
在这里我感到困惑,我需要说,采取更高级的resposition,但用一些简单的resposition初始化它。这是一种依赖链,必须针对一个接口进行解析
有人对此有建议吗?在输入时使用
:
Bind<IRepository>().To<MoreAdvancedRespository>
.WhenInjectedInto<TrickyRepository>();
Bind<IRepository>().To<SomeSimpleRepository>
.WhenInjectedInto<MoreAdvancedRespository>();
Bind().To
.当输入到()时;
绑定()到
.当输入到()时;
有关更多信息,请参阅。的可能副本