मैंने एमवीपी की कोशिश की है और यह विंडोज़ रूपों के साथ भी बढ़िया काम करता है। इस पुस्तक में एमवीपी पैटर्न (नमूना पेरोल एप्लिकेशन) के साथ खिड़कियों के रूपों का एक उदाहरण है। एप्लिकेशन उस जटिल नहीं है, लेकिन आपको इसे बनाने के बारे में एक विचार देगा।
चुस्त सिद्धांत, पैटर्न, और प्रथाओं में सी # ...
आप स्रोत कोड पर स्रोत कोड प्राप्त कर सकते हैं
संपादित करें:
एमवीपी पैटर्न (ए) निष्क्रिय दृश्य और (बी) पर्यवेक्षण नियंत्रक के दो रूप हैं
जटिल डेटाबाइंडिंग परिदृश्यों के लिए मैं पर्यवेक्षण नियंत्रक पैटर्न के साथ जाना पसंद करता हूं। नियंत्रक पैटर्न की निगरानी में डेटाबाइंडिंग जिम्मेदारी बाकी दृश्य के साथ। इसलिए, ट्रीव्यू / डेटाग्रिड के लिए यह संबंधित विचारों में होना चाहिए, केवल अज्ञेय के तर्क को प्रस्तुतकर्ता पर स्थानांतरित करना चाहिए।
मैं निम्नलिखित MVP फ्रेमवर्क MVC # - एक MVP फ्रेमवर्क पर एक नज़र रखने की सलाह दूंगा
नाम से मत जाना (यह एमवीपी ढांचा है)।
सरल winforms MVP वीडियो
Winforms - MVP
ड्रॉपडाउन सूची एमवीपी - ड्रॉपडाउनलिस्ट से निपटने का एक उदाहरण
सरल ट्रीव्यू बाध्यकारी उदाहरण (गरीब आदमी का बंधन)। आप BindTree () में कोई ट्रीव्यू विशिष्ट तर्क जोड़ सकते हैं।
नीचे कोड स्निपेट है .... परीक्षण नहीं किया गया, सीधे विचार से निकाला गया ...।
public interface IYourView
{
void BindTree(Model model);
}
public class YourView : System.Windows.Forms, IYourView
{
private Presenter presenter;
public YourView()
{
presenter = new YourPresenter(this);
}
public override OnLoad()
{
presenter.OnLoad();
}
public void BindTree(Model model)
{
// Binding logic goes here....
}
}
public class YourPresenter
{
private IYourView view;
public YourPresenter(IYourView view)
{
this.view = view;
}
public void OnLoad()
{
// Get data from service.... or whatever soruce
Model model = service.GetData(...);
view.BindTree(model);
}
}