ModelViewPresenter (MVP) - implementacja

ModelViewPresenter (MVP) - implementacja
SH
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 4 lata
  • Postów:68
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ć?

MA
  • Rejestracja:około 10 lat
  • Ostatnio:4 dni
  • Lokalizacja:Poznań
  • Postów:216
0

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

Kopiuj
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.

edytowany 1x, ostatnio: _Mateusz_
SH
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 4 lata
  • Postów:68
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.

edytowany 1x, ostatnio: shimizu

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.