MVC ist ziemlich einfach.
Martin Fowler würde dem vielleicht nicht zustimmen :
Verschiedene Leute, die an verschiedenen Orten über MVC lesen, nehmen unterschiedliche Ideen davon und beschreiben diese als "MVC".
Weitermachen ...
Wenn wir eine Website erstellen, wird alles zusammengeführt, wenn der Client eine REST-Schlüsselwortanforderung an den Server sendet -> der Server die angeforderte URL mit der Controller-Aktion übereinstimmt -> der dann die Modelle zur Datenerfassung / -verarbeitung aufruft und das Ergebnis erhält -> und gibt das Ergebnis als HTML-Seite (Ansicht) an den Client zurück.
OK, das ist ein bisschen verwickelt
MVC ist eine Sammlung von Ideen zur Implementierung von Benutzeroberflächen.
REST ist eine Sammlung von architektonischen Einschränkungen für die Erstellung umfangreicher Anwendungen.
Das Web, von dem Sie hier sprechen, ist eine riesige Dokumentenverwaltungsanwendung, die unter Verwendung der meisten dieser Einschränkungen erstellt wurde.
Die Ähnlichkeiten, die Sie zwischen den beiden sehen, werden (treffen Sie Ihre Wahl) falsch zugeschrieben oder oberflächlich.
RESTafarians haben ein gemeinsames Verständnis von HATEOAS , "Hypertext als Motor des Anwendungsstatus", und das sollte Alarme durch Ihren Kopf klingeln lassen - warum sollte eine Ansicht ein Motor des Status sein ? Wenn wir die Prämisse in Frage stellen und nach zusätzlichen Beweisen suchen, können wir auch zwei seltsame Dinge bemerken.
Erstens, dass wir den HTTP-Server vollständig aus der Gleichung entfernen können, indem wir den HTML-Code von der Festplatte laden. Der Browser ist damit vollkommen zufrieden und entschuldigt einige geringfügige Abweichungen im Verhalten, die sich aus der Änderung der Basis-URL ergeben können. Ansichten funktionieren im Allgemeinen nicht weiter, wenn sie vollständig vom Modell und vom Controller getrennt wurden.
Zweitens, wenn wir einen modernen Browser sorgfältig beobachten, werden wir feststellen, dass es mehrere Ansichten des HTML gibt. Mehrere Ansichten einer Ansicht scheinen eine wirklich seltsame Idee zu sein, aber es gibt sicher die Hauptpräsentation mit einer Reihe von Textmarkierungen, die auf Benutzergesten reagieren, und dann gibt es diese "Quellansicht", die den rohen HTML-Code anzeigt und auch darauf reagiert Benutzergesten. Es sind Schildkröten den ganzen Weg nach unten!
Die Antwort auf das Rätsel ist natürlich, dass der HTML-Code nicht die Ansicht ist. Die Sammlung von Widgets im Browser ist die Ansicht und steht in Verbindung mit dem Dokumentobjektmodell , das durch Lesen des HTML-Codes initialisiert wurde.
Mit anderen Worten, der HTML-Code ist eine Repräsentation des Staates, genau wie Roy T. Fielding es versprochen hat.
Was ist, wenn es sich um einen reinen RESTful API-Webdienst handelt? Wie zuvor, aber es gibt keine "Ansicht"
Richtiger wie zuvor: Es gibt keine Sicht. Der JSON ist genau wie der HTML-Code eine Darstellung des Zustands, die zum Überschreiten von Prozessgrenzen geeignet ist.
Denken Sie an "DTO" oder "Nachricht", und Ihre Schlussfolgerungen führen Sie viel seltener in die Irre.