Forskjellen mellom MVC og MVP

MVC vs MVP

Model View Controller (også kjent som MVC) er et mønster av en arkitektonisk natur som brukes spesielt i programvare engineering. Dette bestemte mønsteret brukes til å isolere det som kalles 'domain logic' - som er bare logikken i et program for brukeren. Den er isolert fra inngang og presentasjon (kjent som GUI), og tillater uavhengig utvikling.

Model View Presenter (også kjent som MVP) er en direkte permutasjon av MVC. Det er et programvare mønster (nærmere bestemt et brukergrensesnitt design mønster) designet spesielt for å hjelpe testingen av automatiserte enheter, og forbedre det som kalles separasjon av bekymringer i presentasjonslogikken. Adskillelsen av bekymringer er i utgangspunktet en prosess hvorved et dataprogram adskilles i forskjellige funksjoner som ikke overlapper, i form av hvordan de fungerer.

Modelldelen av MVC er i hovedsak et mønster som representerer data via bestemte domener, dataene som brukes til å tillate at applikasjonen skal fungere. Visningsdelen forvandler modellen til en interaksjon som passer for brukere - dette er vanligvis et brukergrensesnittelement. Endelig mottar styreenhetdelen innspillet mest hensiktsmessig. Ved å ta avgjørelser for objektene som finnes i modellen, fungerer kontrolleren som en katalysator for responsen.

Modelldelen av MVP definerer dataene som skal vises (eller handles på) i brukergrensesnittet. Visningsdelen viser dataene som er definert i modellen, og sender brukeroppfordrede kommandoer (kjent som hendelser) til presentatøren (hvem vil handle på disse dataene). Presentatøren virker da på modellen og visningen av modellen. Som sådan er det i stand til å hente data fra repositorier (funnet i modellen), fortsette dataene og formatere det, slik at det enkelt kan vises i visningen.

Det finnes forskjellige varianter av MVC. Som sådan er strømmen av kontrollen i svært streng rekkefølge: For det første vil brukeren samhandle med grensesnittet (for eksempel en knapp på musen), og så tar kontrolleren seg av inngangshendelsen og endrer den til riktig brukerhandling. Deretter informerer kontrolleren modellen av hva brukeren har gjort, noe som mest sannsynlig vil føre til at modellen endrer sin tilstand (som en oppdatering, for eksempel). Visningen stiller et spørsmål til modellen for å generere brukergrensesnittet. Endelig venter brukergrensesnittet for instruksjoner som vil starte syklusen på nytt.

Sammendrag:

1. MVC er et arkitektonisk mønster som isolerer domene logikk; MVP er en etterkommer av MVC utviklet for å hjelpe til med å teste automatiserte enheter og forbedre separasjonen av bekymringer.

2. I forhold til MVC representerer modellen dataene, formen forvandler modellen til en brukervennlig samhandling, og kontrolleren mottar inngangen; Når det gjelder MVP, definerer modellen dataene, visningen viser det, og presentatøren fungerer på modellen og dens syn.