Cześć, zacząłem bawić się Autofaciem. I mam kilka wątpliwości. Czy ktoś mógłby powiedzieć albo podlinkować odpowiedni kod?
Wszystko jest pięknie w najprostszych przypadkach, gdy rejestruję i tworzę (Resolve) obiekty w Main. Ale większe systemy tak nie działają. Obiekty muszą być tworzone w różnych miejscach. Wykorzystanie w nich metody Resolve skończy się ServiceLocatorem. Załóżmy, że mam jakąś klasę, która gdzieś tworzy jakieś obiekty:
class MyClass
{
public void DoWork()
{
IMyInterface aObj = Container.Resolve<IMyInterface>();
aObj.DoSthElse();
}
}
No i w tym momencie pobieram Container skądś. Jest to ServiceLocator. Jak to powinno być zrobione poprawnie? Załóżmy, że aObj też ma w sobie jakieś zależności, a ja bym chciał móc to wszystko ładnie przetestować.