Model-View-Presenter

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 25. januar 2016; checks kræver 23 redigeringer .
MVP
Præsentator for modelvisning
Struktur
  • Model
  • udsigt
  • oplægsholder
Relaterede skabeloner Model-View-Controller
Beskrevet i Design Patterns Ikke

Model-View-Presenter (MVP)  er et designmønster afledt af MVC , der primært bruges til at bygge brugergrænsefladen .

Presenter-elementet i dette mønster overtager funktionaliteten af ​​en mediator (svarende til en controller i MVC) og er ansvarlig for at håndtere brugergrænsefladehændelser (f.eks. musebrug ) på samme måde, som en visning normalt er ansvarlig i andre mønstre.

Beskrivelse af skabelonen

MVP er et brugergrænsefladedesignmønster, der blev udviklet for at lette automatiseret enhedstestning og forbedre adskillelse af bekymringer i præsentationslogik (adskillelse af logik fra display):

Normalt opretter en forekomst af visningen (visningen) en forekomst af repræsentanten og giver den en reference til sig selv. Samtidig arbejder Repræsentanten med Synet i abstrakt form, gennem dets grænseflade . Når en visningshændelse udløses, påkalder den en specifik visningsmetode, der ikke har nogen parametre eller returværdi. Repræsentanten modtager de data om tilstanden af ​​brugergrænsefladen, der er nødvendige for, at metoden kan fungere gennem View-grænsefladen og overfører derigennem også data fra Modellen og andre resultater af dens arbejde til Viewen.

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 ; privat MyModel _myModel ; public MyPresenter ( IView view ) { _view = view ; _myModel = ny MinModel ( 1 ); } }

Historie

MVP opstod som et alternativ til MVC. En detaljeret analyse kan findes i en artikel af Martin Fowler [1] [2] [3] [4] [5] , samt i en artikel af Derek Greer [6] .

Se også

Noter

  1. "GUI Architectures" af Martin Fowler. Del 1 - introduktion
  2. "GUI Architectures" af Martin Fowler. Del 2 - MVC
  3. "GUI Architectures" af Martin Fowler. Del 3 - MVC
  4. "GUI Architectures" af Martin Fowler. Del 4 - MVP
  5. "GUI Architectures" af Martin Fowler. Del 5 - Humble View
  6. Interactive Application Architecture Patterns af Derek Greer . Hentet 30. maj 2012. Arkiveret fra originalen 30. maj 2012.

Links