Re: MVP: понять во View, были ли изменения в данных
От: Ed.ward Россия  
Дата: 28.06.11 21:07
Оценка: +2
Здравствуйте, m a d, Вы писали:

MAD>Доброго времени суток!


MAD>Задал сначала этот вопрос на хабре, но добрые хабражители его моментально отхабрили. Прошу прощения, если действительно спрашиваю глупость.


MAD>Дано: приложение на C#/WinForms, которое пытается следовать паттерну MVP.

MAD>View представляет собой форму с гридом, в гриде есть данные. Также есть кнопочки, которые с этими данными что-то делают. View не знает, что. Он просто генерит по нажатию кнопок события, которые обрабатываются презентером.

MAD>Задача: при закрытии формы необходимо понять, были ли изменения в данных, и если были, то спросить, сохранять ли их.


MAD>2. Спрашивать о сохранении из презентера (только что пришел в голову более конкретный вариант: из презентера вызвать IView.ShowSaveDialog() c возвратом DialogResult)


Именно так. Этот подход позволит покрыть автоматическими тестами логику сохранения данных.
View только говорит, что хочет закрыться. Презентер знает, что делать по закрытию, спрашивать/не спрашивать, сохранять/не сохранять, и в конце концов а закрывать ли View.

Ed.ward
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.