Модель-представление-презентатор: где сохранить данные «UI»? - PullRequest
1 голос
/ 17 декабря 2010

Я создаю приложение WinForm, используя шаблон MVP.

Моя модель представляет собой иерархическое дерево папок и файлов. Мой вид имеет древовидное представление, чтобы показать это.

Теперь я сталкиваюсь с требованием «запомнить», какие узлы в дереве пользовательского интерфейса были расширены в последнем сеансе.

Эта информация не относится к модели файловой системы. или делает это? и если это логика презентатора, значит ли это, что мне нужно сохранить своего докладчика также?

1 Ответ

1 голос
/ 18 декабря 2010

Нет, вам не следует сохранять докладчика, у вас должен быть файл конфигурации / настроек / приложений, в котором вы можете хранить эту информацию, в конце концов, это требование вашего приложения, и вы должны смоделировать его так же, как и все остальное.

то, что я считаю полезным делать, когда приложение находится в «переходном» состоянии, должно отражать любые изменения, которые пользователь вносит с помощью представления в модели в презентере;это будет означать, что каждый раз, когда узел расширяется, вы информируете об этом докладчика и обновляете значение вашей модели.когда пользователь закрывает сеанс, вы сохраняете эту модель где-то, файл или базу данных и т. д.

, так что в качестве сводки модель

  • : содержит данные домена, в вашем случаекакая папка / файл был расширен
  • Presenter: взаимодействует с представлением и моделью, чтобы отразить эти изменения в справочной информации по текущей модели.

надеюсь, что это поможет

...