MVP: понять во View, были ли изменения в данных
От: m a d Россия  
Дата: 28.06.11 19:46
Оценка:
Доброго времени суток!

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

Дано: приложение на C#/WinForms, которое пытается следовать паттерну MVP.
View представляет собой форму с гридом, в гриде есть данные. Также есть кнопочки, которые с этими данными что-то делают. View не знает, что. Он просто генерит по нажатию кнопок события, которые обрабатываются презентером.

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

Варианты, которые приходят в голову (но ни один из них не нравится):
1. По нажатию кнопок сделать вывод, что данные поменялись.
2. Спрашивать о сохранении из презентера (только что пришел в голову более конкретный вариант: из презентера вызвать IView.ShowSaveDialog() c возвратом DialogResult)
3. Генерировать событие типа «а не было ли изменений?» с аргументами а ля CancelEventArgs

Посоветуйте, пожалуйста, как правильно поступить.
mvp winforms c#
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.