Hol megtekintése & Presenter megszületni

szavazat
5

Teljesen megértem az MVP minta, de én még mindig küzdenek, hogy hol nézetek és előadók példányai. Láttam már néhány példát, ahol a műsorvezető newed fel a látványt, de ez helyes. Elolvasása után egy blogbejegyzést Jeremy Miller a kommunikáló közötti megtekintése és Presenter volt egy funkciót a Presenter csatolni az előadó számára a kilátást.

A kérdésem az, akkor ez: Hol nézetek és előadók létre? Akkor is, ha a WinForms és webforms.

A kérdést 09/12/2008 23:04
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
3

A webforms, az oldal lesz példányai által a kérelmet. Mivel az oldal az a nézet, és nem tudja ellenőrizni a végrehajtás sorrendje, ez a nézet, hogy regisztrálnia kell magát a műsorvezető

Válaszolt 09/12/2008 23:15
a forrás felhasználó

szavazat
2

A WinForms én instantiate véli, szükség szerint (pl: a mainmódszer, illetve a módszer egy másik műsorvezető, hanem mindenütt, ahol van értelme tényleg). A kilátás, majd létrehozza és regisztrálja magát egy új példányt a műsorvezető.

Ez teszi, amely több nézetek használja ugyanazt a műsorvezető logika egyszerű, és a pajzsok felhasználók nézetem én adott építészeti döntés használata MVP.

Válaszolt 09/12/2008 23:28
a forrás felhasználó

szavazat
1

Először jó kérdés. Másodszor, lehet, hogy nem számít, mennyi. Az én személyes preferencia, hogy szinte mindig kössük fel Presenter és nézet a Nézet.

Hasonlítsuk össze ezt a forgatókönyv:

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();
    }
}

ehhez:

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);
    }
}

Amint láthatjuk, hogy az utóbbi jóval kisebb párhuzamos kódot. Persze ez butaság párhuzamos vagy ha lehet mondani, lehet mozgatni a közös funkció egy közös funkció, de kapsz a lényeg, hogy ez csak egy példa .. Ez az, amikor ugyanaz lesz a nézet, hogy példányosítható a több részből az alkalmazás.

Továbbá az előnye megtekintése ismerete Presenter, hogy csak akkor kell hivatkozni Presenter a nézet a projekt, így újra használhatja ugyanazt Presenter különböző UI alkalmazásokat. Ellenkező esetben meg kell hivatkozni minden nézet projekt a Presenter ..

De mi a fontosabb az, hogy milyen a különböző modellek illeszkednek a helyzet. Hogy őszinte legyek, van több lehetőség is,. Lásd ezt az ismétlődő kérdés.

Válaszolt 18/01/2013 00:15
a forrás felhasználó

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