Forskel mellem MVC og MVP

MVC vs MVP

Model View Controller (også kendt som MVC) er et mønster af arkitektonisk art, der specifikt bruges i software engineering. Dette bestemte mønster bruges til at isolere det, der er kendt som 'domænelogik' - hvilket simpelthen er logikken i en applikation for brugeren. Det er isoleret fra input og præsentation (kendt som GUI) og tillader uafhængig udvikling.

Model View Presenter (også kendt som MVP) er en direkte permutation af MVC. Det er et softwaremønster (mere specifikt et brugergrænsefladedesignmønster) designet specifikt til at hjælpe testen af ​​automatiserede enheder og forbedre det, der er kendt som adskillelse af bekymringer i præsentationslogikken. Adskillelsen af ​​bekymringer er dybest set en proces, hvorved et computerprogram er opdelt i forskellige funktioner, der ikke overlapper hinanden med hensyn til, hvordan de fungerer.

Modeldelen af ​​MVC er i det væsentlige et mønster, der repræsenterer data via specifikke domæner de data, der bruges til at lade applikationen fungere. Visningsdelen omdanner modellen til en interaktion, der er egnet til brugere - dette er normalt et brugerfladeelement. Endelig modtager controllerdelen mest passende input. Ved at træffe beslutninger for de objekter, der findes i modellen, fungerer controlleren som en katalysator for svaret.

Modeldelen af ​​MVP definerer de data, der skal vises (eller handles) i brugergrænsefladen. Visningsdelen viser de data, der er defineret i modellen, og sender bruger-promptede kommandoer (kendt som begivenheder) til præsentanten (som vil handle efter disse data). Presentatøren handler derefter efter modellen og visningen af ​​modellen. Som sådan er det i stand til at hente data fra lagre (findes i modellen), fortsætte dataene og formatere dem, så de let kan vises i visningen.

Der er forskellige varianter af MVC. Som sådan er kontrolstrømmen i en meget streng rækkefølge: Først interagerer brugeren med grænsefladen (f.eks. Ved at trykke på en knap på musen), og så tager controlleren sig af inputhændelsen og ændrer den til den relevante brugerhandling. Dernæst underretter controlleren modellen om, hvad brugeren har gjort, hvilket sandsynligvis vil resultere i, at modellen ændrer dens tilstand (som f.eks. En opdatering). Visningen stiller derefter et spørgsmål til modellen for at generere brugergrænsefladen. Endelig venter brugergrænsefladen på instruktioner, der genstarter cyklussen.

Resumé:

1. MVC er et arkitektonisk mønster, der isolerer domænelogik; MVP er en efterkommer af MVC designet til at hjælpe med at teste automatiserede enheder og forbedre adskillelsen af ​​bekymringer.

2. Med hensyn til MVC repræsenterer modellen dataene, visningen omdanner modellen til en brugervenlig interaktion, og controlleren modtager input; med hensyn til MVP definerer modellen dataene, visningen viser dem, og præsentanten handler på modellen og dens visning.