powiedzmy, mam taką hierarchię klas:Ninject wtrysk zależność z Dekorator wzór
public interface IRepository { }
public class SomeSimpleRepository : IRepository {}
teraz chcę "ozdobić" SomeSimpleRepository z dodatkowymi funkcjami
public class MoreAdvancedRespository : IRepository
{
private readonly IRepository _originalRepository;
public MoreAdvancedRespository(IRepository original)
{ }
}
Po chwili inny ..
public class TrickyRepository : IRepository
{
private readonly IRepository _originalRepository;
public TrickyRepository (IRepository original)
{ }
}
Teraz muszę wykonać wiązanie. W aplikacji potrzebuję instancji TrickyRepository, która ma zostać zainicjowana za pomocą MoreAdvancedRespository. Tak, muszę napisać coś takiego:
Bind<IRepository>().To<TrickyRepository>.With ??
Tutaj jestem zdezorientowany, muszę jakoś powiedzieć, wziąć MoreAdvancedRespository ale go zainicjować z SomeSimpleRepository. Jest to rodzaj łańcucha zależności, które muszą zostać rozwiązane dla jednego interfejsu.
Czy ktoś ma sugestie w tej sprawie?
możliwy duplikat [W jaki sposób powiązanie jest wykonywane z dekoratorami za pomocą programu Ninject?] (Http://stackoverflow.com/questions/8447037/how-the- binding-are-done-d-decorators-using-ninject) –
Możliwy duplikat [W jaki sposób powiązanie jest wykonywane z dekoratorami za pomocą programu Ninject?] (Https://stackoverflow.com/questions/8447037/how-the- binding-are-done-with-decorators-using-ninject) – NightOwl888