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