Выполняет ли ведущий логику GUI в шаблоне MVP?

Мы работаем с шаблоном MVP, и мне стало интересно, как быть с действиями GUI.

Например, когда пользователь хочет удалить строку из сетки, он нажимает кнопку delete. В этот момент можно сделать две вещи:

1) Вызвать _presenter.DeleteRow(), после чего ведущий вызывает _view.SelectedRow. Затем ведущий вызывает view.AskUserForConfirmation(), и когда он получает ответ DialogResult.OK, ведущий действительно удаляет базовый объект и обновляет сетку.

2) Форма запрашивает у пользователя подтверждение, и когда DialogResult становится OK, то вызывается presenter.Delete(myObject) ИЛИ presenter. Delete() вызывается и внутри метода Delete объект извлекается вызовом _view.SelectedRow.

Как вы поступаете в подобных ситуациях?

10
задан Panzercrisis 7 October 2016 в 12:30
поделиться