MVP denedim ve çok windows formları ile harika görünüyor. Bu kitapta MVP desenli Windows formları örneği bulunmaktadır (örnek bordro uygulaması). Uygulama o kadar karmaşık değil ama nasıl yaratılacağı hakkında bir fikir verecektir.
Çevik Prensipler, Desenler ve C # ...
Kaynak kodunu
Kaynak Kodundan alabilirsiniz
DÜZENLE:
MVP modelinin iki varyasyonu vardır (a) Pasif görünüm ve (b) denetleyici kontrolör
Karmaşık veri bağlama senaryoları için Denetleyici denetleyici desenine gitmeyi tercih ederim. Denetleyici modelini denetlerken veri sorumluluğu görüşe aittir. Bu nedenle, ağaç görünümü / veri ızgarası için bu ilgili görünümlerde olmalıdır, yalnızca görünüm agnostik mantığı sunucuya taşınmalıdır.
Aşağıdaki MVP çerçevesine bir göz atmanızı öneririm
MVC # - Bir MVP çerçevesi
İsme göre gitmeyin (bu bir MVP çerçevesi).
Basit winforms MVP video
Winforms - MVP
MVP açılır liste ile ilgili bir örnek
- DropDownList
Basit ağaç görünümü bağlama örneği (fakir adamın bağlama). BindTree () içine treeview'a özgü herhangi bir mantık ekleyebilirsiniz.
Aşağıda kod snippet'i .... test edilmedi, doğrudan düşünceden anahtarlandı ....
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);
}
}