Chúng tôi đang làm việc với mẫu MVP, và tôi đã tự hỏi làm thế nào để đối phó với các hành động GUI.Trình bày có thực hiện GUI logic trong mẫu MVP không?
Ví dụ: khi người dùng muốn xóa một hàng khỏi lưới, người dùng nhấn nút xóa. Tại thời điểm này, bạn có thể làm hai việc:
1) Gọi _presenter.DeleteRow()
và người trình bày sau đó gọi _view.SelectedRow
. Sau đó, người trình bày gọi view.AskUserForConfirmation()
và khi quay lại DialogResult.OK
, người trình bày thực sự sẽ xóa đối tượng bên dưới và làm mới lưới.
2) Các hình thức yêu cầu người dùng xác nhận và khi DialogResult
là OK
, sau đó được gọi là presenter.Delete(myObject)
HOẶC presenter.Delete()
được gọi và trong phương pháp Delete
đối tượng được lấy bằng cách gọi _view.SelectedRow
.
Làm cách nào để bạn xử lý các loại tình huống này?