Witam!
Pogrążając się dalej w zagadnieniu MVVM, dotarłem do wzorca Dependency Injection i Inversion of Control. Odnośnie nich mam kilka pytań:
- Jaka jest różnicą między IoC Containerem a Service Locatorem? W zasadzie oba robią to samo, rejestrują klasy, przyporządkowują je do interfejsów, tworzą i przechowują instancje. Czy sedno jest w ich sposobie użycia?
- Załóżmy że mamy następujący ViewModel:
public class MainViewModel
{
IService Service1;
IService Service2;
public MainViewModel(IService _service1, IService _service2)
{
Service1 = _service1;
Service2 = _service2;
}
}
W jaki sposób mogę wstrzyknąć obie zależności jeżeli deklarację ViewModelu mam w XAML'u? Czy zostaje tylko ręczne bndowanie do DataContextu w Code-Behind widoku? Rozumiem że przypisanie obiektów z IoC Containera bezpośrednio w konstruktorze nie będzie już wstrzykiwaniem zależności.
Proszę o podanie kilku rad dotyczących tych pytań, jest to dla mnie niezmiernie ważne - MVVM to temat który trawię już od co najmniej dwóch tygodni :)
Pozdrawiam!