Мы работаем с шаблоном MVP, и мне стало интересно, как быть с действиями GUI.
Например, когда пользователь хочет удалить строку из сетки, он нажимает кнопку delete. В этот момент можно сделать две вещи:
1) Вызвать _presenter.DeleteRow()
, после чего ведущий вызывает _view.SelectedRow
. Затем ведущий вызывает view.AskUserForConfirmation()
, и когда он получает ответ DialogResult.OK
, ведущий действительно удаляет базовый объект и обновляет сетку.
2) Форма запрашивает у пользователя подтверждение, и когда DialogResult
становится OK
, то вызывается presenter.Delete(myObject)
ИЛИ presenter. Delete()
вызывается и внутри метода Delete
объект извлекается вызовом _view.SelectedRow
.
Как вы поступаете в подобных ситуациях?