Wenn ich das richtig verstehe, dann ist die Funktion des Controllers die Verarbeitung von POST-Daten und die technischen Änderungen am Zustand der Anwendung (z.B. DB) über Model.
Soweit ich weiß, erhält View auch Daten aus dem Model.
So verstehe ich also den Arbeitsablauf:
Kundenanfrage --> App Front Controller
--> (wenn Methode = POST --> Controller
) --> View
--> zurück zum Kunden
Aquí Model
wird verwendet von Controller
zum Lesen und Schreiben von Daten und durch View
um Daten zu lesen.
Der Controller wird also nicht jedes Mal verwendet, wenn die Seite geladen wird, sondern nur, wenn Anwendungsdaten hinzugefügt/aktualisiert werden. Die meiste Zeit wird der Controller umgangen.
Wie kommt es also, dass fast jede Ressource über MVC über Controller spricht, die Daten an Ansichten senden?
Ich versuche, eine Anwendung mit MVC-ähnlichen Muster zu schreiben. Also in meiner App Ansichten immer Daten für die Seite aus dem Modell erhalten. Wenn das Modell aktualisiert wird, füge ich die spezifische Modellaktualisierungszeit zum Memcache hinzu. Zur Laufzeit sucht jede Ansicht die letzte(n) Aktualisierungszeit(en) des/der zugehörigen Modells/Modelle und das letzte Mal, als der Cache für diese Ansicht generiert wurde. Wenn das Modell aktualisiert wurde, bevor der Cache gespeichert wurde, liest die Ansicht den Cache, andernfalls wird sie auf der Grundlage des aktualisierten Modells neu dargestellt.
0 Stimmen
Dies kann ein verwirrendes Thema sein, da MVC für das Web (zustandslos) anders ist als für SmallTalk (Desktop-Anwendung) beschrieben.
0 Stimmen
Ich glaube, ich weiß, warum du feststeckst. Sie stecken fest, weil MVC, wie es ursprünglich vor etwa zwanzig Jahren konzipiert wurde, im Web nicht wirklich funktioniert. Jedes MVC-Webframework, das Ihnen begegnet ist, ist eigentlich ein Klotz, ein Hack. Sie sind MVC-Frameworks, weil das der Name ist, den die Leute gewählt haben, aber es ist definitiv nicht MVC.
0 Stimmen
Was ist also im Web wichtiger als MVC der alten Schule? Ich bin wirklich daran interessiert, zu wissen, bevor ich zu weit in das Projekt und ändern Muster würde zu schwierig werden.
1 Stimmen
Die Leute nennen es immer noch MVC, obwohl es anders ist als das Original. Wenn Sie technisch interessiert sind, können Sie sich die Beschreibung von Model 2 oder MVC2 ansehen, die der heute im Web weit verbreiteten Form von MVC am nächsten kommen.