Meer informatie Ja, ik geef toestemming
Door Dagmar Ingelse Leestijd 2 min.

Softwarearchitectuur volgens het MVC-model

Om ervoor te zorgen dat een applicatie goed leesbaar, onderhoudbaar en makkelijk aan te passen is, moet je ervoor zorgen dat de softwarearchitectuur goed in elkaar steekt. Dat hoef je niet telkens opnieuw zelf te verzinnen maar is samengevat in een ontwerppatroon.

Zo’n ontwerppatroon is een soort blauwdruk of sjabloon waarbij een toepassing is ingedeeld in verschillende eenheden met eigen functies of verantwoordelijkheden. Veelgebruikte soorten architectuur zijn: client-server architectuur, gelaagde architectuur en peer-to-peer architectuur.

Bij Way2Web ontwikkelen we software met het Laravel framework. En het ontwerppatroon of design pattern dat aan Laravel ten grondslag ligt is het MVC-model (Model-View-Controller). Wat houdt dat in en wat zijn de voordelen?

Drie eenheden: Model, View en Controller

MVC Illustraties Way2Web
Model
Hier wordt vastgelegd wat de betekenis is van ruwe gegevens in bijvoorbeeld een database. We doen dit door relaties tussen data en logica aan te geven. Dat klinkt vrij abstract maar denk bijvoorbeeld aan een gebruiker. Deze moet worden kunnen aangemaakt en bewerkt. Deze gegevens moeten opgeslagen en opgehaald uit een database. De Model zorgt ervoor dat dat goed gebeurt. Daarnaast heeft een gebruiker bijvoorbeeld commentaar achtergelaten. Die koppeling vind je ook in de gebruiker Model.

View
De View betreft de presentatie van informatie. In dit deel van de code definiëren we onder andere hoe de userinterface werkt. In een view worden geen gegevens verwerkt, het gaat alleen om de weergave van data aan een gebruiker van de applicatie. Nieuwe views kunnen moeiteloos worden toegevoegd zonder dat er aan de Controller of de Model iets verandert.

Controller
De Controller is het werkpaard van het MVC-model. Meestal aangestuurd door of reagerend op een paginabezoek. Hierbij worden data verwerkt en controles of berekeningen uitgevoerd in de Model, aangestuurd door de Controller. Deze worden vanuit de Controller weer doorgegeven aan de View. De Controller kan reageren op een verzoek om informatie, maar ook informatie wijzigen en notificaties bij wijzigingen verzenden. De Controller is dus de lijm tussen de Model en de View.

Het MVC-model in de praktijk

Laravel helpt ons om de MVC-architectuur te implementeren en de Model, de View en de Controller goed en begrijpelijk te laten samenwerken. In de praktijk ziet dat er bijvoorbeeld zo uit:
1. Je bezoekt een webshop voor sneakers
2. De Controller haalt via de Model de alle schoenen op en geeft deze door aan de View
3. In de View worden de producten weergegeven
4. Je klikt op New Balance, maat 45, kleur rood.
5. De Controller verwerkt je keuzes en haalt via de Model gegevens uit de database
6. De Controller update je View.
7. Je klikt op Bestellen
8. De Controller verwerkt je bestelling middels de Model.
9. De Controller update de Views van andere gebruikers omdat de voorraad gewijzigd is.

software testen Way2Web

Waarom gebruiken we Laravel met MVC-architectuur?

Dankzij softwarearchitectuur is ook een complexe, grootschalige applicatie goed leesbaar, goed te onderhouden en makkelijk aan te passen en uit te breiden. Het MVC-model heeft de volgende voordelen.


Heldere rolverdeling
De backend-ontwikkelaar werkt aan de Model en de Controller terwijl de frontend-ontwikkelaar aan de Views werkt.
Heldere structuur
MVC stuurt je om bestanden op te splitsen in logische mappen wat de vindbaarheid vergroot.
Geïsoleerde functies en verantwoordelijkheden
Wijzigingen aan de Model en de Views hebben geen invloed op elkaar.
Goed leesbare en onderhoudbare code
Het is makkelijker om te programmeren volgens gangbare conventies.

Bent u klaar voor the next level?

De digitale transformatie biedt fantastische nieuwe mogelijkheden en kansen. Ook voor uw onderneming, dat weet ik zeker. Als IT-specialist én ondernemer praat ik daar graag eens met u over verder. Geheel vrijblijvend natuurlijk. Zullen we een afspraak maken?