Tôi đã bắt đầu quấn quanh toàn bộ mô hình MVP và mặc dù tôi đang làm việc tốt với các đối tượng đơn lẻ. Vì vậy, giả sử chúng ta đang xây dựng một ứng dụng WinForms đơn giản bao gồm một DataGrid trong một Form, với Mô hình dữ liệu là một bộ sưu tập các công cụ đơn giản, nơi mà các công cụ này có một loạt các thuộc tính và View sẽ thực sự hiển thị chúng:Sự khác nhau thực hiện giữa MVP Passive View và giám sát điều khiển cho các bộ sưu tập
mẫu
public class Person
{
public string Name { get; set; }
public DateTime Birth { get; set; }
public bool IsCool { get; set; }
}
public class People
{
public List<Person> Persons { get; set; }
}
Xem
public interface IPeopleView
{
List<People> ListOfPeople { get; set; }
}
public partial class PeopleViewImpl : Form, IPeopleView
{
private DataGridView _grid = new DataGridView();
public PeopleViewImpl()
{
InitializeComponent();
}
// Implementation of IPeopleView
public List<People> ListOfPeople
{
get { return /* TODO */; }
set { _grid.DataSource = value; }
}
}
Presenter
public class PeoplePresenter
{
private People _model;
private IPeopleView _view;
public PeoplePresenter(People model, IPeopleView view)
{
_model = model;
_view = view;
}
void UpdateView()
{
_view.ListOfPeople = _model.Peoples;
}
}
Vì vậy, những gì tôi nên thực hiện tại Xem lý lịch thành List<People> ListOfPeople
getter cũng như làm thế nào tôi nên gọi người trình bày UpdateView()
?
Và nói chung, trong đó phương pháp trình bày thêm sẽ là thú vị để có để đạt được MVP Passive Xem và Giám sát điều khiển tương ứng?
Bất kỳ lời khuyên, đánh giá hoặc đánh giá kiểu mã nào sẽ được đánh giá cao. Cảm ơn nhiều trước.
Vâng, tôi đang cố gắng MVPVM với Passive Xem giao diện để thử và khuyến khích TDD , nhưng đồng thời có một ViewModel để xử lý DataGridViews. – Heliac