30
说,我有这样的类层次结构:Ninject依赖注入Decorator模式
public interface IRepository { }
public class SomeSimpleRepository : IRepository {}
现在我想 “装饰” SomeSimpleRepository附加功能
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 ??
在这里,我很困惑,我需要以某种方式说,采取MoreAdvancedRespository但SomeSimpleRepository初始化。这是一种必须依靠一个接口解决的依赖关系链。
对此有任何建议吗?
[如何使用Ninject与装饰器完成绑定?](http://stackoverflow.com/questions/8447037/how-the-binding-are-done-with-decorators-using-ninject) – 2012-04-05 12:12:14
[如何使用Ninject装饰器完成绑定的可能的重复?](https://stackoverflow.com/questions/8447037/how-the-binding-are-done-with-decorators-using-ninject) – NightOwl888 2018-03-09 12:54:50