MVVM - Где я должен реализовать мою логику сохранения? - PullRequest
4 голосов
/ 10 сентября 2010

У меня есть две разные модели, которые нужно сохранить; объект TextFile и статический объект настроек.

Прямо сейчас у меня есть логика сохранения, реализованная в самих моделях.

Мне нравится, как чисто это выглядит при вызове методов сохранения:

Settings.Save();

и

_currentFile.Save(filePath);

Однако из того, что я прочитал, звучит так, как будто я должен реализовать методы Save во ViewModel.

То, что я сейчас делаю, не правильно?

Ответы [ 3 ]

3 голосов
/ 10 сентября 2010

Сохранение идет в модели. Но это может не относиться к этому конкретному классу (модель состоит из всей вашей реальной рабочей нагрузки).

ViewModel существует только для перевода из модели в представление. У него не должно быть бизнес-логики.

1 голос
/ 10 сентября 2010

Если то, что вы делаете, сохраняет состояние одной из ваших моделей в файле, то я бы сказал, что то, что вы делаете, совершенно логично.Если файл, который вы сохраняете, сохраняет данные, это зависит от вида, тогда он действительно должен быть в ViewModel.

0 голосов
/ 12 сентября 2010

Вас может заинтересовать Writer пример приложения WPF Application Framework (WAF) .Он использует шаблон MVVM и показывает, где может быть реализована операция сохранения.Кроме того, он использует статический объект «Настройки» для сохранения пользовательских настроек (языка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...