Ich fragte here vor einiger Zeit für etwas Hilfe beim Verständnis von MVC, da ich sehr neu zu dem Thema bin. Ich dachte, ich hätte ein gutes Verständnis davon, und das ist in einer blog post Ich schrieb kürzlich zu diesem Thema. Mein Verständnis läuft im Grunde darauf hinaus:MVC: Sind Modelle und Entity-Objekte getrennte Konzepte?
Controller: Bestimmt, was getan werden muss, um eine Anfrage zu erfüllen, und nutzt alle Modelle, die benötigt werden, um nach Bedarf zu sammeln/ändern. Es ist im Grunde ein Manager für einen bestimmten Prozess.
Aufrufe: Nur Präsentation. Sobald ein Controller erfasst, was er benötigt, erstellt er einen bestimmten Ansichtstyp, übergibt ihm die Informationen und sagt: "Zeigen Sie dies dem Benutzer, wie Sie es auch tun".
Modelle: Verhalten der Anwendung. Wenn der Controller es bittet, etwas zu extrahieren oder zu modifizieren, weiß es, wie es geht. Es weiß auch, andere Modelle zu triggern, um damit verbundene Aufgaben zu erledigen (in meinem Verständnis, wenn ein Modell versucht, auf StackOverflow "für etwas zu stimmen", fragt dieses Modell, ob ein Ausweis auch dafür gewährt werden sollte. Der Controller tut dies nicht muss sich darum kümmern).
Meine Frage, ob all das mehr oder weniger genau ist, wo kommen Entitätsobjekte her? Sind Modelle und Entitäten dasselbe, wobei jedes Objekt weiß, wie es seine eigenen Daten beibehalten kann, oder sind Entitäten ein eigenständiges Konzept, das für sich allein existiert und in der gesamten Anwendung verwendet wird?
Mein Geld ist auf dem letzteren, da dies Modelle unabhängig voneinander agieren lassen würde, während alle drei Schichten (Modell, Ansicht und Controller) die Entitäten verwenden könnten, um Daten nach Bedarf weiterzugeben. Außerdem scheinen Objekte und Datenbankpersistenz Probleme zu sein, die getrennt werden sollten.
Um ehrlich zu sein, je mehr ich über MVC lese, desto verwirrter werde ich. Ich bin bereit, einfach das Kernkonzept (separate Präsentation aus der Logik) zu nehmen und damit zu laufen, wie es sich auch anfühlt, und sich nicht zu sehr um das Label "MVC" zu kümmern.
Es tut mir leid, aber ich bin mir nicht ganz sicher, was du sagst. Könnten Sie das anders formulieren? – AgentConundrum
wirklich leid, coz von meinem Englisch ...: P –
Keine Sorge. Also, Sie sagen, dass Modelle und Entitäten dasselbe sind? Ich bin ein wenig überrascht, da (wie ich in meiner Frage gesagt habe) es scheint, dass die Entität selbst nicht über ihre eigene Beharrlichkeit besorgt sein sollte. – AgentConundrum