Model-View-Presenter

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. ledna 2016; kontroly vyžadují 23 úprav .
MVP
Prezentátor zobrazení modelu
Struktura
  • Modelka
  • Pohled
  • Moderátor
Související šablony Model-View-Controller
Popsáno v Návrhové vzory Ne

Model-View-Presenter (MVP)  je návrhový vzor odvozený od MVC , který se používá především pro vytváření uživatelského rozhraní .

Prvek Presenter v tomto vzoru přebírá funkci prostředníka (podobně jako ovladač v MVC) a je zodpovědný za zpracování událostí uživatelského rozhraní (např. použití myši ) stejným způsobem, jako je obvykle zodpovědný pohled v jiných vzorech.

Popis šablony

MVP je návrhový vzor uživatelského rozhraní, který byl vyvinut pro usnadnění automatizovaného testování jednotek a zlepšení oddělení problémů v prezentační logice (oddělení logiky od zobrazení):

Obvykle instance View (View) vytvoří instanci zástupce a předá jí odkaz na sebe. Zástupce zároveň pracuje s Pohledem v abstraktní podobě, přes jeho rozhraní . Když je vyvolána událost View, vyvolá specifickou metodu View, která nemá žádné parametry ani návratovou hodnotu. Zástupce přijímá údaje o stavu uživatelského rozhraní potřebné pro fungování metody přes rozhraní View a jeho prostřednictvím také přenáší data z Modelu a další výsledky své práce do View.

public class MyModel { private int _state = 0 ; public MyModel ( initState ) { _state = initState ; } public getState (){ return _state ; } } public class MyView : IView { private IPresenter _presenter ; public MyView () { _presenter = new MyPresenter ( this ); } } public class MyPresenter : IPresenter { private IView _view ; private MyModel _myModel ; public MyPresenter ( IView view ) { _view = view ; _myModel = nový MůjModel ( 1 ); } }

Historie

MVP se objevil jako alternativa k MVC. Podrobný rozbor lze nalézt v článku Martina Fowlera [1] [2] [3] [4] [5] , stejně jako v článku Dereka Greera [6] .

Viz také

Poznámky

  1. „GUI Architectures“ od Martina Fowlera. 1. část - úvod
  2. „GUI Architectures“ od Martina Fowlera. Část 2 - MVC
  3. „GUI Architectures“ od Martina Fowlera. Část 3 - MVC
  4. „GUI Architectures“ od Martina Fowlera. Část 4 - MVP
  5. „GUI Architectures“ od Martina Fowlera. Část 5 - Pokorný pohled
  6. Interactive Application Architecture Patterns od Dereka Greera . Získáno 30. května 2012. Archivováno z originálu 30. května 2012.

Odkazy