Skip to main content

Wat is model-view-controller?

Model-view-controller (MVC) is een type software-architectuur en ontwerppatroon dat elk element van een programma segmenteert in goed gedefinieerde functionaliteitsgebieden.In model-view-controller-architectuur behandelt het model alle interne programmalogica die manipuleert, opslaat, haalt en anderszins handelt en berekent.Het weergavesaspect is verantwoordelijk voor het weergeven van informatie van het model voor de gebruiker, en het biedt ook een manier voor de gebruiker om het programma input te geven.De controller neemt input uit de weergave, beoordeelt of verwerkt deze anders en interageert met het model om gegevens of de programma -status te wijzigen, die uiteindelijk via de weergave aan de gebruiker wordt getoond.Hoewel het ontwerp van het model-viewer-controller een programma vereist om de functionaliteit in te kapselen, moeten de drie secties op de een of andere manier nog steeds met elkaar communiceren en zijn ze in zekere zin over het algemeen afhankelijk van elkaar, in tegenstelling tot andere meer agressieve ontwerppatronen.Vaak is het model-view-controlerpatroon te zien in toepassingen die een grafische gebruikersinterface (GUI) beheren.Met behulp van het MVC -patroon worden de verschillende visuele elementen van de GUI afgehandeld door de weergave, de opname en verwerking van waar en wat een gebruiker klikt, wordt afgehandeld door de controller, en het wijzigen van informatie of laadinformatie wordt door het model gedaan.Afhankelijk van het exacte ontwerp van een toepassing, kan elk onderdeel van het MVC -patroon een mechanisme hebben om te communiceren met de andere componenten, zoals het model dat de weergave direct kan instrueren om het scherm te vernieuwen of de weergave een manier te hebben om het te vertellenController dat het het scherm vernieuwt en geen nieuwe invoer accepteert.In tegenstelling tot sommige ontwerppatronen die een strikte black-box-aanpak volgen, zijn model-view-controler-programma's meestal iets flexibeler, hoewel sommige implementaties een MVC-programma moeilijk kunnen veranderen of debuggen modulair.

In bepaalde gevallen, in bepaalde gevallen, het model, het modelView-Controller-patroon hoeft niet slechts één van elke component te bevatten.Een voorbeeld is een applicatie met meerdere weergaven, zoals meerdere monitoren, of een display dat te zien is op verschillende clientapparaten.Meerdere weergaven en controllers kunnen worden gebruikt in een applicatie waarmee veel gebruikers toegang hebben tot een database, allemaal beantwoorden aan een enkel model.Het komt echter vaker voor bij ontwerpsystemen die een één-op-één verhouding van de componenten van het model-view-controler-componenten handhaven.

Hoewel de componenten van model-view-controler een afhankelijkheid van elkaar hebben, kan het veel eenvoudiger zijnOm bepaalde delen van een systeem te wijzigen die het MVC-patroon gebruiken dan als er helemaal geen patroon werd gebruikt, vooral in het geval van niet-objectgeoriënteerde toepassingen.Als een applicatie callbacks of luisteraars en waarnemers gebruikt om interacties tussen de componenten te implementeren, kan elke component worden gewijzigd zonder de andere twee te beïnvloeden.Dit betekent dat een nieuwe GUI kan worden geïmplementeerd zonder het model of de controller te beïnvloeden.Er moet echter worden opgemerkt dat fundamentele wijzigingen in een model-view-controller-systeem mogelijk een kleine hoeveelheid hercodering vereisen voor elke individuele component.