ModelViewPresenter (MVP) - implementacja

0

Cześć,
Chciałem się dowiedzieć jak implementować taki model programowania. Już zacząłem coś kodzić ale natrafiłem na pewien problem który strasznie utrudnia prace. Jak przekazywać prezenter. Bo np. jak mam kilka modeli to jakoś muszę komunikować się i wyświetlać wynik.

Prowadzący zajęcia wspomniał coś o event ale nie rozwiną tej mysli. Czy ktoś może wie o co mogło chodzić?

0

Prezenter możesz przechowywać jako pole danego widoku, np:

class BookView : IBookView
{
BookViewPresenter presenter = new BookViewPresenter();

public Book Book { get; set; }

public void Save()
{
    presenter.Save(this);
}

public void ShowAuthorView()
{
   presenter.ShowAuthorView(this, new AuthorView());
}
}

class BookViewPresenter
{
public void Save(IBookView view)
{
// walidacja
repository.Save(view.Book);
}

public void ShowAuthorView(IBookView bookView, IAuthorView authorView)
{
authorView.Author = bookView.Book.Author;
authorView.Show();
}
}

Widok BookView, wyświetla AuthorView przy pomocy presentera BookViewPresenter.

0

właśnie tak mam. Doczytałem troche i chciałem się dowiedzieć jak zrobić to na eventach. W sensie ze nie pisze presenter.metoda() tylko że wykona się jakiś event... (i dalej nie wiem jak to działa). Mało materiałów o tym znalazłem ale ciągle szukam. Może ktoś dopomoże.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0