Skillnad mellan MVC och MVP

MVC vs MVP

Model View Controller (även känd som MVC) är ett mönster av en arkitektonisk natur som används specifikt inom mjukvaruutveckling. Det här mönstret används för att isolera det som kallas "domain logic" - vilket helt enkelt är logiken för en applikation för användaren. Den är isolerad från ingång och presentation (känd som GUI), och tillåter oberoende utveckling.

Model View Presenter (även känd som MVP) är en direkt permutation av MVC. Det är ett mjukvaru mönster (mer specifikt ett användargränssnitt designmönster) som är utformat speciellt för att stödja testningen av automatiserade enheter och förbättra det som kallas separering av problem i presentationslogiken. Separationen av problem är i princip en process genom vilken ett datorprogram separeras i olika funktioner som inte överlappar varandra, i form av hur de fungerar.

Modelldelen av MVC är väsentligen ett mönster som representerar data via specifika domäner som används för att tillåta att applikationen ska fungera. Visningsdelen omvandlar modellen till en interaktion som är lämplig för användare - det här brukar vara ett användargränssnitt. Slutligen mottar styrenhetsdelen mest inmatningen. Genom att fatta beslut för föremålen som finns i modellen fungerar styrenheten som en katalysator för svaret.

Modelldelen av MVP definierar den data som ska visas (eller ageras) i användargränssnittet. Visningsdelen visar de data som definieras i modellen och skickar kommandon med användarbegäran (känd som händelser) till presentatören (vem ska agera på denna data). Presentatören handlar sedan om modellen och modellens uppfattning. Som sådan kan den hämta data från repositories (finns i modellen), fortsätta data och formatera den så att den enkelt kan visas i vyn.

Det finns olika varianter av MVC. Som sådan är kontrollflödet i en mycket strikt ordning: För det första kommer användaren att interagera med gränssnittet (t.ex. på en knapp på musen), och sedan tar kontrollen om hand om ingångshändelsen och ändrar den till lämplig användaråtgärd. Därefter meddelar regulatorn modellen av vad användaren har gjort, vilket sannolikt kommer att resultera i att modellen ändrar sitt tillstånd (som en uppdatering, till exempel). Vyn ställer sedan en fråga till modellen för att generera användargränssnittet. Slutligen väntar användargränssnittet på instruktioner som startar om cykeln.

Sammanfattning:

1. MVC är ett arkitektoniskt mönster som isolerar domänlogik; MVP är en efterkommer av MVC som är utformad för att hjälpa till att testa automatiserade enheter och förbättra separation av problem.

2. När det gäller MVC representerar modellen data, vyn omvandlar modellen till en användarvänlig interaktion och regulatorn tar emot ingången; När det gäller MVP definierar modellen data, visningen visar den och presentatören agerar på modellen och dess syn.