Вы недавно задали связанный вопрос , и из него я делаю вывод, что ViewModelLocator
et c. происходят из примера базы кода, на которую вы ссылаетесь. Из того, что я извлек из примеров кода, показанных до сих пор, не похоже, что кодовая база является лучшим примером использования Dependency Injection.
Таким образом, любой вопрос, который включает объяснение «шаблонов» в этом коде Основание должно быть встречено ответом му .
Вопрос подразумевает ложную предпосылку. Предпосылка состоит в том, что есть чему поучиться из этой кодовой базы. Это может быть не так.
Сервисный локатор не шаблон; это анти-паттерн . (Большинство людей, похоже, согласны со мной, и до сих пор никто не смог выдвинуть убедительный контраргумент.)
Внедрение зависимости не является паттерном; это набор принципов проектирования и (нескольких) шаблонов. Это то, что мы пытались описать в нашей книге .
как тогда подключаться View
и ViewModel
?
Лучшие Я полагаю, что объяснение модели MVVM до сих пор Jo sh Оригинальная статья Смита . Если вы хотите увидеть полный пример кода, который объединяет MVVM и Dependency Injection, он доступен с первой редакцией Dependency Injection in. NET (которая также включена в качестве бесплатной электронной книги с новым редакция).
ServiceLocator
требуется только для хранения Служб?
Нет, Локатор служб вообще не должен быть. Это пример того, что я имею в виду. Кажется, что эта кодовая база не является хорошим способом узнать о внедрении зависимостей. Это порождает больше путаницы, чем понимания.