Model-View-Present

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 25 januari 2016; kontroller kräver 23 redigeringar .
MVP
Presentatör för modellvy
Strukturera
  • Modell
  • se
  • presentatör
Relaterade mallar Model-View-Controller
Beskrivs i Design Patterns Inte

Model-View-Presenter (MVP)  är ett designmönster som härletts från MVC som används främst för att bygga användargränssnittet .

Presentatörselementet i det här mönstret tar på sig funktionaliteten hos en medlare (liknande en kontroller i MVC) och ansvarar för att hantera användargränssnittshändelser (t.ex. musanvändning ) på samma sätt som en vy vanligtvis är ansvarig i andra mönster.

Beskrivning av mallen

MVP är ett designmönster för användargränssnitt som har utvecklats för att underlätta automatiserad enhetstestning och förbättra separationen av problem i presentationslogik (separation av logik från display):

Vanligtvis skapar en instans av vyn (vyn) en instans av representanten och ger den en referens till sig själv. Samtidigt arbetar Representanten med Synen i abstrakt form, genom dess gränssnitt . När en View-händelse utlöses, anropar den en specifik View-metod som inte har några parametrar eller returvärde. Representanten tar emot de data om användargränssnittets tillstånd som är nödvändiga för att metoden ska fungera genom View-gränssnittet och genom den överför även data från Modellen och andra resultat av dess arbete till 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 { privat IView _view ; privat MyModel _myModel ; public MyPresenter ( IView view ) { _view = view ; _myModel = ny MinModel ( 1 ); } }

Historik

MVP dök upp som ett alternativ till MVC. En detaljerad analys finns i en artikel av Martin Fowler [1] [2] [3] [4] [5] , samt i en artikel av Derek Greer [6] .

Se även

Anteckningar

  1. "GUI Architectures" av Martin Fowler. Del 1 - introduktion
  2. "GUI Architectures" av Martin Fowler. Del 2 - MVC
  3. "GUI Architectures" av Martin Fowler. Del 3 - MVC
  4. "GUI Architectures" av Martin Fowler. Del 4 - MVP
  5. "GUI Architectures" av Martin Fowler. Del 5 - Ödmjuk syn
  6. Interactive Application Architecture Patterns av Derek Greer . Hämtad 30 maj 2012. Arkiverad från originalet 30 maj 2012.

Länkar