MVC est assez simple.
Martin Fowler serait peut-être en désaccord avec ceci :
Différentes personnes lisant sur MVC à différents endroits en tirent des idées différentes et les décrivent comme «MVC».
Continuons ...
Lorsque nous créons un site Web, tout se rassemble lorsque le client envoie une requête de mot clé REST au serveur -> le serveur correspond à l'URL demandée pour l'action du contrôleur -> qui appelle ensuite le ou les modèles pour la collecte / le traitement des données, obtient le résultat -> et renvoie le résultat au client sous forme de page HTML (affichage) '.
OK, c'est un peu un enchevêtrement
MVC, quel qu'il soit, est une collection d'idées pour implémenter des interfaces utilisateur.
REST est un ensemble de contraintes architecturales pour la construction d'applications à grande échelle.
Le Web, dont vous parlez ici, est une application de gestion de documents géante construite en utilisant la plupart de ces mêmes contraintes.
Les similitudes que vous voyez entre les deux sont (faites votre choix) incorrectement attribuées ou superficielles.
Les RESTafariens ont une compréhension commune de HATEOAS , "l'hypertexte comme moteur de l'état de l'application", et cela devrait envoyer des alarmes qui résonnent dans votre tête - pourquoi une vue serait-elle un moteur de l' état ? Si nous remettons en question la prémisse et recherchons des preuves supplémentaires, nous pouvons également remarquer deux choses étranges.
Tout d'abord, nous pouvons retirer complètement le serveur HTTP de l'équation en chargeant le HTML à partir du disque. Le navigateur est parfaitement satisfait de cela, excusant certaines variations mineures de comportement pouvant résulter du changement d'URL de base. Les vues ne continuent généralement pas de fonctionner lorsqu'elles sont complètement déconnectées du modèle et du contrôleur.
Deuxièmement, si nous observons attentivement un navigateur moderne, nous remarquerons qu'il existe plusieurs vues du HTML. Plusieurs vues d'une vue semblent être une idée vraiment étrange, mais bien sûr, il y a la présentation principale, avec un tas de balisage de texte qui répond aux gestes de l'utilisateur, et puis il y a cette chose "Vue source" qui montre le HTML brut et répond également à gestes de l'utilisateur. C'est des tortues tout le long!
La réponse à l'énigme, bien sûr, est que le HTML n'est pas la vue. La collection de widgets dans le navigateur est la vue, et ils sont en communication avec le modèle d'objet de document , qui a été initialisé en lisant le HTML.
En d'autres termes, le HTML est une représentation de l'état, tout comme Roy T. Fielding l' avait promis.
Et si nous parlons d'un service Web API RESTful pur ...? Comme avant, mais il n'y a pas de «vue»
Plus correctement, comme avant: il n'y a pas de vue. Le JSON, tout comme le HTML, est une représentation de l'état, appropriée pour franchir les frontières du processus.
Pensez «DTO» ou «Message» et vos inférences seront beaucoup moins susceptibles de vous induire en erreur.