Nerede görüntüle gerektiğini & Sunucu doğacak

oy
5

Tamamen şimdi MVP desen anlıyorum ama yine de görüş ve sunum örneği olduğunu görmek için mücadele. Ben sunum görünümünde yukarı Yenilenmistir bazı örnekler gördük, ancak bu doğruysa. Görünüm ve Sunum arasındaki iletişim hakkında Jeremy Miller bir blog yazısı okuduktan sonra o bakış için sunumu eklemek için Presenter üzerindeki bir işlevi vardı.

görünümler ve sunum yapan oluşturulmalıdır Nerede: Sorum o zaman bu nedir? Ayrıca Win ve web formları içinde nerede.

Oluştur 09/12/2008 saat 23:04
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
3

webforms olarak, sayfa isteği tarafından örneği alır. Sayfa görüntüleme ve size yürütme sırasını kontrol edemez bu yana, sunucu kendini kayıt bulunmuyor görünümdür

Cevap 09/12/2008 saat 23:15
kaynak kullanıcı

oy
2

Win yılında gerektiği gibi, ben görünümü örneğini (örneğin: Giriş mainyöntemini veya başka bir sunum üzerinde bir yöntemde, ama her yerde gerçekten mantıklı). Görünüm, oluşturur ve bir sunucu yeni bir örneği ile kaydeder.

Bu birkaç görünümleri kolay Aynı sunum mantığı kullanmak zorunda yapar ve MVP kullanmak benim özellikle mimari kararından benim bakış kalkanlar kullanıcıları.

Cevap 09/12/2008 saat 23:28
kaynak kullanıcı

oy
1

Öncelikle iyi bir soru. İkinci olarak, çok, önemli olmayabilir. Benim kişisel tercihi hemen hemen her zaman Sunucu ve Görünüm View kadar Tel etmektir.

Bu senaryoyu karşılaştırın:

public class SomePresenter
{
    public ShowContactView(IContactView view)
    {
        IContact model = new Contact();
        new ContactPresenter(model, view);
        view.Show();
    }
} 

public class AnotherPresenter
{
    public ShowContactView(IContactView view)
    {
        IContact model = new Contact();
        new ContactPresenter(model, view);
        view.Show();
    }
} 

public class YetAnotherPresenter
{
    public ShowContactView(IContactView view)
    {
        IContact model = new Contact();
        new ContactPresenter(model, view);
        view.Show();
    }
} 

public partial class ContactView : Form, IContactView
{    
    public ContactView()
    {
        InitializeComponent();
    }
}

buna:

public class SomePresenter
{
    public ShowContactView(IContactView view)
    {
        view.Show();
    }
} 

public class AnotherPresenter
{
    public ShowContactView(IContactView view)
    {
        view.Show();
    }
} 

public class YetAnotherPresenter
{
    public ShowContactView(IContactView view)
    {
        view.Show();
    }
} 

public partial class ContactView : Form, IContactView
{    
    public ContactView()
    {
        InitializeComponent();

        new ContactPresenter(new Contact(), this);
    }
}

Olarak, ikincisi çok daha az kod tekrarını sahip olduğunu görebiliriz. Tabii bu aynı Görünüm uygulamanın birden bölümlerinde örneği gerekecektir o zaman .. sadece bir örnek, bu budala çoğaltılması ya da sen paylaşılan bir işleve ortak işlevselliği taşıyabilirsiniz söyleyebiliriz, ama noktası olsun.

Ayrıca, Presenter'ı bilerek View avantajı yalnızca Görünüm projesinde Presenter başvurmak gerekir ki, böylece farklı UI uygulamalarında aynı Presenter yeniden kullanabilirsiniz. Aksi takdirde Presenter'da her Görünüm projesini başvurması gerekecektir ..

Ama ne daha önemli farklı model davanızı nasıl uyum görmektir. Dürüst olmak gerekirse, daha olasılıklar bile vardır. Bu yinelenen soruya bakın.

Cevap 18/01/2013 saat 00:15
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more