Verschil tussen MVC en MVP

MVC vs MVP

Model View Controller (ook bekend als MVC) is een patroon van architecturale aard dat specifiek wordt gebruikt in software engineering. Dit specifieke patroon wordt gebruikt om te isoleren wat bekend staat als 'domeinlogica' - wat simpelweg de logica is van een toepassing voor de gebruiker. Het is geïsoleerd van invoer en presentatie (bekend als GUI) en maakt onafhankelijke ontwikkeling mogelijk.

Model View Presenter (ook bekend als MVP) is een directe permutatie van de MVC. Het is een softwarepatroon (meer bepaald een ontwerppatroon voor een gebruikersinterface) dat specifiek is ontworpen om het testen van geautomatiseerde eenheden te ondersteunen en om de scheiding van punten van zorg in de presentatielogica te verbeteren. De scheiding van punten van zorg is in feite een proces waarbij een computerprogramma wordt opgedeeld in verschillende functies die elkaar niet overlappen, in termen van hoe ze functioneren.

Het modeldeel van de MVC is in wezen een patroon dat gegevens weergeeft via specifieke domeinen, de gegevens die worden gebruikt om de toepassing te laten werken. Het weergavegedeelte transformeert het model in een interactie die geschikt is voor gebruikers - dit is meestal een element van de gebruikersinterface. Ten slotte ontvangt het controllergedeelte het meest treffend de invoer. Door beslissingen te nemen voor de objecten in het model, dient de controller als een katalysator voor het antwoord.

Het modeldeel van de MVP definieert de gegevens die in de gebruikersinterface moeten worden weergegeven (of waarop wordt gehandeld). Het weergavegedeelte geeft de gegevens weer die in het model zijn gedefinieerd en verzendt door de gebruiker aangestelde commando's (ook wel events genoemd) naar de presentator (die op deze gegevens zal reageren). De presentator reageert dan op het model en de weergave van het model. Als zodanig is het in staat om data uit repositories op te halen (gevonden in het model), de data voort te zetten en te formatteren, zodat het gemakkelijk in de weergave kan worden weergegeven.

Er zijn verschillende varianten van de MVC. Als zodanig is de stroom van de besturing in een zeer strikte volgorde: ten eerste, de gebruiker zal interactie hebben met de interface (bijvoorbeeld door op een knop op de muis te drukken), en dan zorgt de controller voor de invoergebeurtenis en verandert deze in de juiste gebruikersactie. Vervolgens meldt de controller het model van wat de gebruiker heeft gedaan, wat er hoogstwaarschijnlijk in zal resulteren dat het model zijn status wijzigt (bijvoorbeeld als een update). Het beeld stelt dan een vraag aan het model om de gebruikersinterface te genereren. Ten slotte wacht de gebruikersinterface op instructies die de cyclus opnieuw zullen starten.

Samenvatting:

1. MVC is een architectuurpatroon dat domeinlogica isoleert; MVP is een afstammeling van het MVC en is ontworpen om geautomatiseerde eenheden te testen en de scheiding van zorgen te verbeteren.

2. Met betrekking tot de MVC vertegenwoordigt het model de gegevens, de weergave transformeert het model in een gebruikersvriendelijke interactie en de controller ontvangt de invoer; met betrekking tot de MVP definieert het model de gegevens, de weergave geeft het weer en de presentator werkt op het model en de weergave ervan.