ReactiveUI, View / ViewModel инъекция и DI в целом

В последнее время я пытаюсь погрузиться в новый век разработки пользовательского интерфейса и обнаружил ReactiveUI. Я люблю его декларативный характер.

Я хотел сделать полное переключение, поэтому я попытался понять, как дела в этом новом мире ReactiveUI. Я выбрал ReactiveUI, потому что видел, что его поддерживает очень умный парень (Пол С. Беттс).

Я очень новичок в этом, и я, вероятно, буду наводнять StackOverflow вопросами об этом, потому что у меня огромная сила, и я думаю, что это заслуживает изученияи освоил.

Давайте углубимся в детали:

Я всегда использовал View-First. Я опытный пользователь Cinch Framework (http://cinch.codeplex.com/)

Он использует MEF для внедрения ViewModels в каждое представление. Вам просто нужно украсить вашу ViewModel с помощью [ViewModel ("SampleView")] и добавить присоединенное свойство к вашему представлению (ViewModelLocator.ViewModel = "SampleView"), и всякий раз, когда представление загружается, соответствующий ViewModel создается и внедряется как его DataContext с выбранным вами жизненным циклом.

Этот механизм, хотя он и действует, имеет некоторые неудобства. Худший из них: он использует локатор.

Как предполагает Марк Симанн в своей книге, ServiceLocator - это анти-паттерн, которого следует избегать.

Итак, мой первый вопрос: построен ли ReactiveUI поверх инфраструктуры на основе локатора?View-First или ViewModel-First? Что может быть лучше с точки зрения хороших практик, развязки, SOLID и тому подобного, которые вызывают озабоченность у такого безумного любителя чистого кода от Microsoft, как я? Что заставит меня спать лучше и обеспечит мое приложение всеми этими качествами?

Ответы на вопрос(2)

Ваш ответ на вопрос