Wat is model-view-controller?

Model-view-controller (MVC) is een type softwarearchitectuur 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 nog steeds op een of andere manier met elkaar communiceren en zijn ze in zekere zin over het algemeen afhankelijk van elkaar, in tegenstelling tot andere meer agressieve ontwerppatronen.

Heel vaak wordt het model-view-controlerpatroon gezien in applicaties 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 heeft een manier om de controller te vertellen dat het het scherm verfrissen en niet om nieuwe invoer te accepteren. In tegenstelling tot sommige ontwerppatronen die een strikte black-box-aanpak gebruiken, zijn model-view-controler-programma's meestal iets flexibeler, hoewel sommige implementaties een MVC-programma moeilijk kunnen veranderen of debuggen.

.

In bepaalde gevallen hoeft het model-view-controlerpatroon 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 om systemen te ontwerpen die een één-op-één verhouding van de componenten van het model-view-controler onderhouden.

Hoewel componenten van model-view-controler een afhankelijkheid van elkaar hebben, kan het veel gemakkelijker zijn om 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-object georië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 eenhet model of de controller bevatten. Er moet echter worden opgemerkt dat fundamentele wijzigingen in een model-view-controller-systeem mogelijk voor elke individuele component een kleine hoeveelheid hercodering vereisen.

ANDERE TALEN