Wie das Modell in MVC strukturiert sein sollte
Im Model-View-Controller (MVC)-Framework wirft die Modellkomponente häufig Fragen zu ihrer angemessenen Struktur und ihren Verantwortlichkeiten auf. Um diese Bedenken auszuräumen, untersuchen wir die Natur und den Zweck eines Modells in MVC.
Was ein Modell nicht ist
-
Keine Klasse oder ein einzelnes Objekt: Das Modell ist keine bestimmte Klasse oder ein bestimmtes Objekt. Es stellt eine Schicht dar, die aus verschiedenen Strukturen besteht.
-
Kein ORM oder eine Datenbankabstraktion: Das Modell ist nicht einfach eine objektrelationale Zuordnung (ORM) oder eine Datenbankabstraktionsschicht.
Was ein Modell ist
In MVC besteht die Modellschicht aus drei primären Strukturen:
-
Domänenobjekte: Logische Container domänenspezifischer Informationen, die Geschäftslogik und Regeln kapseln.
-
Datenzuordnungen: Verantwortlich zum Verwalten der Datenspeicherung und des Datenabrufs, z. B. für die Interaktion mit a Datenbank.
-
Dienste: Erleichtern Sie die Kommunikation zwischen Domänenobjekten und Datenmappern und stellen Sie eine übergeordnete Schnittstelle zur Geschäftslogik bereit.
Interaktion mit einem Modell
Um die Modellebene zu nutzen, können Benutzeroberflächenkomponenten (Ansichten und Controller) Abhängigkeitsinjektionstechniken nutzen, um auf die erforderlichen Elemente zuzugreifen Dienste.
Ändern des Modellzustands
Controller fungieren als Vermittler, empfangen Benutzereingaben und initiieren Änderungen am Modellzustand über Dienstmethoden.
Darstellung des Modellzustands
Ansichten sind dafür verantwortlich, den aktuellen Status des Modells anzuzeigen Benutzer.
Erstellen des Modells
Anstatt sich auf die Erstellung einer monolithischen „Modell“-Klasse zu konzentrieren, erfordert MVC die Erstellung von Diensten, Domänenobjekten und Datenzuordnungen.
Zusätzlich Beobachtungen
-
Datenbanktabellen und das Modell:Modellstrukturen entsprechen nicht unbedingt direkt Datenbanktabellen.
-
Ansichten und Vorlagen:Ansichten verarbeiten Präsentationslogik und nicht nur die Anzeige von Vorlagen.
-
Beziehung zwischen Ansichten und Controllern:MVC impliziert a 1:1-Beziehung zwischen Ansichten und Controllern, wobei jedes Paar eine bestimmte Seite oder Funktionalität verwaltet.
Das obige ist der detaillierte Inhalt vonWie sollte das Modell in einem MVC-Framework strukturiert sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!