Ola,
Een vraagje ... als ik op internet rondkijk dan zie ik dat er verschillende interpretaties zijn van het MVC-model. En dan doel ik met name op de relatie tussen controller, model en view.
Zo zie je op Wikipedia een afbeelding waar model en view met elkaar communiceren.
https://nl.wikipedia.org/wiki/Model-view-controller-model
Op de onderstaande pagina zie je echter een afbeelding waar dat juist niet het geval is. Hier praat de controller met het model en de view, maar hebben het model en de view geen weet van elkaar.
https://www.quora.com/What-is-the-difference-between-the-OOP-object-oriented-programming-concept-and-the-MVC-model%E2%80%93view%E2%80%93controller-concept
Deze laatste manier is hoe ik zelf ook tegen het MVC-model aankijk. De controller vangt het request op, praat met het model om data op te halen en stuurt vervolgens de juiste gegevens naar de view.
Er is echter 1 ding wat ik me afvraag.
Is het model uitsluitend bedoeld om data op te halen? Of mag er ook 'logica' in zitten?
Een heel simpel voorbeeldje ...
Een website met films moet aanbevolen films tonen voor ingelogde bezoekers. Voor iemand van 12 (een kind) moeten andere films worden getoond dan voor iemand van 25.
Maar waar zit nu de logica ... in de controller of in het model?
Stuurt de controller als de leeftijd jonger is dan x jaar een verzoek naar het model om aanbevolen 'kinderfilms' op te halen? Of stuurt de controller een generiek verzoek naar het model om aanbevolen films op te halen, en bepaalt het model zelf op basis van de leeftijd welke films hij ophaalt? Wie is zeg maar 'leading' in dat proces. Zijn daar richtlijnen voor?
[size=xsmall]Toevoeging op 26/02/2019 10:57:51:[/size]
Misschien nog een tweede voorbeeldje ...
Stel we hebben een loginpagina. Iemand voert z'n gebruikersnaam en wachtwoord in. Wie voert dan vervolgens de controle uit? Verstuurt de controller een verzoek naar het model om het wachtwoord (hash) op te halen, en kijkt de controller vervolgens zelf of dat overeenkomt met het opgegeven wachtwoord? Of stuurt de controller enkel een verzoek 'controleer wachtwoord' naar het model, en voert het model de gehele controle zelf uit?
5.223 views