Ho iniziato a ragionare su tutto lo schema MVP e nonostante stia andando bene con i singoli oggetti inizia a diventare difficile quando si tratta di collezioni.Differenze di implementazione tra MVP Passive View e Supervising Controller per le raccolte
Quindi diciamo che stiamo architecting un'applicazione semplice WinForms che consiste di un DataGrid all'interno di un modulo, con il modello di dati di essere una semplice raccolta di roba, in cui tale roba ha un sacco di proprietà e la vista sta andando in realtà visualizzarli:
Modello
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; }
}
View
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; }
}
}
Presentatore
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;
}
}
ma cosa dovrei attuare a di vista List<People> ListOfPeople
getter e come dovrei richiamare Presenter di UpdateView()
?
E, in generale, che i metodi Presenter supplementare sarebbe interessante avere al fine di ottenere MVP Passive View e Supervisione rispettivamente controller?
Qualsiasi consiglio, recensione in stile codice o parere sarà apprezzato sinceramente. Grazie mille in anticipo.
Sì, sto attualmente cercando MVPVM con Vista interfacce passive per cercare e incoraggiare TDD , ma allo stesso tempo ha un ViewModel per gestire DataGridViews. – Heliac