Tôi đã đọc về MVP, cụ thể là Bộ điều khiển giám sát. Một điều tôi gặp khó khăn trong đầu là cách View tương tác với Model.
Theo hiểu biết của tôi, Người thuyết trình nên cập nhật Mô hình và Chế độ xem đọc từ Mô hình. Người thuyết trình cũng có thể cập nhật chế độ xem thông qua giao diện. Bài viết của Martin Fowler về điều này dường như chỉ cho thấy điều đó ( http://martinfowler.com/eaaDev/SupervisingPresenter.html ).
Tuy nhiên, các bài viết / blog khác hiển thị chế độ xem cập nhật mô hình trực tiếp ( https://bloss.msdn.microsoft.com/erwinvandervalk/2009/08/14/the-difference-b between- model-view-viewmodel-and- other- tách-trình bày-mẫu / ).
Tôi biết đây chỉ là các mẫu nên sẽ có các triển khai khác nhau, nhưng khung nhìn cập nhật mô hình có vẻ như nó đang làm nhiều hơn mức cần thiết.
Ví dụ, tôi có một lớp người có tên và số điện thoại. Chế độ xem có thể hiển thị tên và số này và nút gửi để thay đổi tên và số của người đó. Khi nhấp vào nút gửi, tôi hy vọng việc cập nhật sẽ được xử lý trong Người thuyết trình chứ không phải Chế độ xem. Tuy nhiên, bài viết tôi tham khảo đề xuất rằng chế độ xem có thể trực tiếp cập nhật mô hình.
Vì vậy, nên xem bao giờ cập nhật các mô hình? Hoặc chỉ nên được xử lý bởi Người trình bày?
BIÊN TẬP:
Mã từ bài viết MSDN:
public class PersonalDataView : UserControl, IPersonalDataView
{
protected TextBox _firstNameTextBox;
public void SetPersonalData(PersonalData data)
{
_firstNameTextBox.Value = data.FirstName;
}
public void UpdatePersonalData(PersonalData data)
{
data.FirstName = _firstNameTextBox.Value;
}
}