MVC è piuttosto semplice.
Martin Fowler non sarebbe forse d' accordo con questo :
Diverse persone che leggono MVC in luoghi diversi ne prendono idee diverse e le descrivono come "MVC".
Andare avanti...
Quando creiamo un sito Web, tutto si riunisce come 'client invia la richiesta della parola chiave REST al server -> il server abbina l'URL richiesto all'azione del controller -> che quindi chiama i modelli per la raccolta / elaborazione dei dati, ottiene il risultato -> e restituisce il risultato al client come pagina HTML (visualizza) '.
OK, questo è un po 'un groviglio
MVC, qualunque essa sia, è una raccolta di idee per l'implementazione di interfacce utente.
REST è una raccolta di vincoli architetturali per la creazione di applicazioni su larga scala.
Il web, di cui stai parlando qui, è una gigantesca applicazione di gestione dei documenti costruita usando la maggior parte di quegli stessi vincoli.
Le somiglianze che vedi tra i due sono (fai la tua scelta) erroneamente attribuite o superficiali.
I RESTafariani hanno una comprensione comune di HATEOAS , "ipertesto come motore dello stato dell'applicazione", e questo dovrebbe far scattare degli allarmi nella tua testa - perché una vista dovrebbe essere un motore di stato ? Se mettiamo in dubbio la premessa e cerchiamo ulteriori prove, potremmo anche notare due cose strane.
Innanzitutto, possiamo rimuovere completamente il server HTTP dall'equazione caricando l'HTML dal disco. Il browser è perfettamente soddisfatto di ciò, giustificando alcune lievi variazioni nel comportamento che possono derivare dalla modifica dell'URL di base. Le viste in genere non continuano a funzionare quando sono state completamente disconnesse dal modello e dal controller in quel modo.
In secondo luogo, se osserviamo attentamente un browser moderno, noteremo che ci sono più viste dell'HTML. Le viste multiple di una vista sembrano un'idea davvero strana, ma sicuramente c'è la presentazione principale, con un sacco di markup di testo che risponde ai gesti degli utenti, e poi c'è questa cosa "Vista sorgente" che mostra l'HTML grezzo e risponde anche a gesti dell'utente. Sono le tartarughe fino in fondo!
La risposta all'enigma, ovviamente, è che l'HTML non è la vista. La raccolta di widget nel browser è la vista e sono in comunicazione con il Document Object Model , che è stato inizializzato leggendo l'HTML.
In altre parole, l'HTML è una rappresentazione dello stato, proprio come promesso da Roy T. Fielding .
E se stiamo parlando di un puro servizio web API RESTful ...? Come prima, ma non c'è "vista"
Più correttamente, come prima: non c'è vista. JSON, proprio come l'HTML, è una rappresentazione di stato, adatta per attraversare i confini del processo.
Pensa "DTO" o "Messaggio" e le tue inferenze avranno molte meno probabilità di portarti fuori strada.