मैंने अपने सिर को पूरे एमवीपी पैटर्न के चारों ओर लपेटना शुरू कर दिया है और बावजूद मैं एकल वस्तुओं के साथ ठीक कर रहा हूं, जब संग्रहों की बात आती है तो मुश्किल हो रही है।संग्रह के लिए एमवीपी निष्क्रिय दृश्य और पर्यवेक्षण नियंत्रक के बीच कार्यान्वयन अंतर
तो मान लीजिए कि हम एक साधारण WinForms एप्लिकेशन को आर्किटेक्ट कर रहे हैं जिसमें एक फॉर्म के भीतर डेटाग्रिड होता है, जिसमें डेटा मॉडल का एक साधारण संग्रह होता है, जहां ऐसी सामग्री में गुणों का समूह होता है और दृश्य वास्तव में जा रहा है उन्हें प्रदर्शित:
मॉडल
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; }
}
देखें
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; }
}
}
प्रस्तुतकर्ता
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;
}
}
तो क्या मैं दृश्य के List<People> ListOfPeople
गेटर के साथ-साथ मैं कैसे आह्वान चाहिए प्रस्तुतकर्ता UpdateView()
को लागू करना चाहिए?
और आम तौर पर, जो अतिरिक्त प्रस्तुतकर्ता तरीकों आदेश और क्रमशः नियंत्रक निगरानी एमवीपी निष्क्रिय देखें प्राप्त करने के लिए है करने के लिए दिलचस्प हो सकता है?
कोई सलाह, कोड शैली समीक्षा या राय ईमानदारी से सराहना की जाएगी। अग्रिम में बहुत बहुत धन्यवाद।
हां, वर्तमान में MVPVM साथ निष्क्रिय देखें इंटरफेस कोशिश करते हैं और TDD प्रोत्साहित करने के लिए कोशिश कर रहा हूँ , लेकिन साथ ही DataGridViews को संभालने के लिए एक ViewModel है। – Heliac