Я ищу хороший пример/способ TRUE разделение между MVVM View и ViewModel. Мне даже не нужна 1 ссылка в представлении ViewModel или наоборот.MVVM: Истинное разделение между GUI и ViewModels
Описания проблемы
Просто visuallise моей проблемы: Imagine 3 раздельных проектов; GUI (Views), Logic (ViewModels) и Model.
Обзор:
Как настроить решение, так что это не приведет к ссылкам круг?
подход
Одна мысль моя была использовать 4-ый проект как своего рода брокера:
Что мне не нравится об этом, является то, что логика (ViewModel) будет основным проектом в этом случае. Или, может быть, все в порядке, и у меня просто странные чувства.
Что вы, ребята, думаете?
Редактировать
Благодаря Чарльзу Магера я нашел очень интересную статью, в которой отображение является предопределенным и поэтому, когда он вызывает метод ShowDialog он решает на основе отображения, пользовательский интерфейс для нагрузки. CodeProject: Showing Dialogs When Using the MVVM Pattern
Я добавил ваше первое изображение, но ваш второй выглядит идентичным - вы хотите его проверить? – slugster
спасибо и да там что-то не так. Я заменил вторую ссылку, поэтому теперь она должна указывать на правильную картинку. –
Одним из лучших и простых способов сделать это является использование контейнера инъекций зависимостей (например, Unity) и ссылки только через интерфейс. Таким образом, ваше представление будет иметь свойство «IViewModel ViewModel {get; set;}'), и оно заполнит это свойство, разрешив интерфейс из контейнера DI. – slugster