MVC ist ein Entwurfsmuster, das die Trennung von Eingabe, Verarbeitung und Ausgabe einer Anwendung erzwingt. Dieser Artikel stellt detailliert vor, was das MVC-Framework ist, und hat einen gewissen Referenzwert. Freunde, die sich für MVC interessieren, können sich auf
MVC (Model View Controller) beziehen. Ursprünglich im Desktop-Programm vorhanden, bezieht sich M auf das Datenmodell, V auf die Benutzeroberfläche und C auf den Controller. Der Zweck der Verwendung von MVC besteht darin, die Implementierungscodes von M und V zu trennen, sodass dasselbe Programm unterschiedliche Darstellungen verwenden kann. Sie können beispielsweise einen Stapel statistischer Daten in Balkendiagrammen bzw. Kreisdiagrammen darstellen. Der Zweck von C besteht darin, die Synchronisation von M und V sicherzustellen. Sobald sich M ändert, sollte V synchron aktualisiert werden.
Model-View-Controller (MVC) ist ein Software-Designmuster, das in den 1980er Jahren von Xerox PARC für die Programmiersprache Smalltalk-80 erfunden wurde und heute weit verbreitet ist. In den letzten Jahren wurde es als Entwurfsmuster für die J2EE-Plattform von Sun empfohlen und wird von immer mehr Entwicklern begrüßt, die ColdFusion und PHP verwenden. Das Model-View-Controller-Muster ist eine nützliche Toolbox, die viele Vorteile, aber auch einige Nachteile hat.
Wie MVC funktioniert
MVC ist ein Entwurfsmuster, das die Trennung von Eingabe, Verarbeitung und Ausgabe einer Anwendung erzwingt. Anwendungen, die MVC verwenden, sind in drei Kernkomponenten unterteilt: Modell, Ansicht und Controller. Sie erledigen jeweils ihre eigenen Aufgaben.
Ansicht
Eine Ansicht ist die Schnittstelle, die Benutzer sehen und mit der sie interagieren. Bei Webanwendungen im alten Stil ist die Ansicht eine Schnittstelle, die aus HTML-Elementen besteht. In Webanwendungen im neuen Stil spielt HTML immer noch eine wichtige Rolle in der Ansicht, aber nach und nach sind einige neue Technologien entstanden. Dazu gehören Macromedia Flash und einige Auszeichnungssprachen und Webdienste wie XHTML, XML/XSL, WML usw.
Der Umgang mit der Anwendungsschnittstelle wird immer anspruchsvoller. Einer der großen Vorteile von MVC besteht darin, dass es viele verschiedene Ansichten für Ihre Anwendung verarbeiten kann. In der Ansicht findet keine echte Verarbeitung statt, unabhängig davon, ob die Daten online oder in einer Mitarbeiterliste gespeichert sind. Sie dient lediglich dazu, die Daten auszugeben und dem Benutzer die Möglichkeit zu geben, sie zu bearbeiten.
Modell
Modell repräsentiert Unternehmensdaten und Geschäftsregeln. Unter den drei Komponenten von MVC hat das Modell die meisten Verarbeitungsaufgaben. Beispielsweise könnten Komponentenobjekte wie EJBs und ColdFusion-Komponenten für die Verwaltung von Datenbanken verwendet werden. Die vom Modell zurückgegebenen Daten sind neutral, was bedeutet, dass das Modell nichts mit dem Datenformat zu tun hat, sodass ein Modell Daten für mehrere Ansichten bereitstellen kann. Die Codeduplizierung wird reduziert, da der auf das Modell angewendete Code nur einmal geschrieben werden muss und von mehreren Ansichten wiederverwendet werden kann.
Controller
Der Controller akzeptiert Benutzereingaben und ruft Modelle und Ansichten auf, um die Anforderungen des Benutzers zu erfüllen. Wenn also auf einer Webseite auf einen Hyperlink geklickt und ein HTML-Formular gesendet wird, gibt der Controller selbst nichts aus und führt keine Verarbeitung durch. Es empfängt lediglich die Anforderung und entscheidet, welche Modellkomponente aufgerufen werden soll, um die Anforderung zu verarbeiten. Anschließend wird festgelegt, welche Ansicht zum Anzeigen der von der Modellverarbeitung zurückgegebenen Daten verwendet werden soll.
Jetzt fassen wir den MVC-Verarbeitungsprozess zusammen. Zuerst empfängt der Controller die Anfrage des Benutzers und entscheidet, welches Modell zur Verarbeitung aufgerufen werden soll. Anschließend verarbeitet das Modell die Anfrage des Benutzers. Der Controller verwendet die entsprechende Ansicht, formatiert die vom Modell zurückgegebenen Daten und präsentiert sie dem Benutzer über die Präsentationsschicht.
Warum MVC verwenden
Die meisten Webanwendungen werden mit prozeduralen Sprachen wie ASP, PHP oder CFML erstellt. Sie mischen Code auf Datenebene wie Datenbankabfragen mit Code auf Präsentationsebene wie HTML.
Erfahrene Entwickler trennen die Daten von der Präsentationsschicht, aber das ist normalerweise nicht einfach. Es erfordert sorgfältige Planung und ständiges Ausprobieren. MVC erzwingt grundsätzlich deren Trennung. Obwohl die Erstellung von MVC-Anwendungen einige zusätzliche Arbeit erfordert, stehen die Vorteile, die sie uns bringt, außer Frage.
In erster Linie können mehrere Ansichten ein Modell gemeinsam nutzen, da es, wie bereits erwähnt, mittlerweile immer mehr Möglichkeiten gibt, auf Ihre Anwendung zuzugreifen. Eine Lösung hierfür ist die Verwendung von MVC. Unabhängig davon, ob Ihre Benutzer eine Flash-Schnittstelle oder eine WAP-Schnittstelle wünschen, kann sie alle verarbeiten. Da Sie die Daten und Geschäftsregeln von der Präsentationsschicht getrennt haben, können Sie die Wiederverwendung Ihres Codes maximieren.
Da die vom Modell zurückgegebenen Daten nicht formatiert sind, kann dieselbe Komponente von verschiedenen Schnittstellen verwendet werden. Beispielsweise können viele Daten in HTML dargestellt werden, sie können jedoch auch in Macromedia Flash und WAP dargestellt werden. Modelle verfügen außerdem über Statusverwaltungs- und Datenpersistenzfunktionen. Beispielsweise können sitzungsbasierte Warenkörbe und E-Commerce-Prozesse von Flash-Websites oder drahtlosen Netzwerkanwendungen wiederverwendet werden.
Da Modelle eigenständig und von Controllern und Ansichten entkoppelt sind, ist es einfach, die Datenschicht und Geschäftsregeln Ihrer Anwendung zu ändern. Wenn Sie Ihre Datenbank von MySQL nach Oracle migrieren oder Ihre RDBMS-basierte Datenquelle auf LDAP umstellen möchten, ändern Sie einfach Ihr Modell.
Sobald Sie das Modell richtig implementiert haben, werden Ihre Daten unabhängig davon, ob sie aus einer Datenbank oder einem LDAP-Server stammen, in der Ansicht korrekt angezeigt. Da sich die drei Komponenten einer Anwendung, die MVC verwendet, gegenseitig ausschließen, hat die Änderung einer davon keine Auswirkungen auf die anderen beiden, sodass Sie auf der Grundlage dieser Designidee gute lose gekoppelte Komponenten konstruieren können.
Für mich bietet der Controller auch einen Vorteil: Mit dem Controller können verschiedene Modelle und Ansichten verbunden werden, um die Anforderungen des Benutzers zu erfüllen. Auf diese Weise kann der Controller ein leistungsstarkes Werkzeug zum Erstellen von Anwendungen bereitstellen . bedeutet. Bei einigen wiederverwendbaren Modellen und Ansichten kann der Controller das zu verarbeitende Modell entsprechend den Anforderungen des Benutzers auswählen und dann die Ansicht auswählen, um dem Benutzer die Verarbeitungsergebnisse anzuzeigen.
Nachteile von MVC
Der Nachteil von MVC besteht darin, dass es nicht sehr einfach ist, MVC vollständig zu verstehen, da es keine klare Definition gibt. Der Einsatz von MVC erfordert eine sorgfältige Planung, und da die internen Prinzipien komplex sind, dauert es einige Zeit, darüber nachzudenken.
Sie müssen viel Zeit damit verbringen, darüber nachzudenken, wie Sie MVC auf Ihre Anwendung anwenden. Gleichzeitig wird durch die strikte Trennung von Modell und Ansicht auch das Debuggen der Anwendung erschwert. Jede Komponente muss vor der Verwendung gründlich getestet werden. Sobald Ihre Komponenten getestet wurden, können Sie sie bedenkenlos wiederverwenden.
Nach meiner persönlichen Erfahrung bedeutet die Verwendung von MVC, da wir eine Anwendung in drei Teile unterteilen, auch, dass Sie mehr Dateien als zuvor verwalten müssen, was offensichtlich ist. Das mag so aussehen, als hätte sich unsere Arbeitsbelastung erhöht, aber bedenken Sie bitte, dass dies nichts im Vergleich zu den Vorteilen ist, die es uns bringen kann.
MVC eignet sich nicht für kleine oder sogar mittelgroße Anwendungen. Wenn Sie viel Zeit damit verbringen, MVC auf nicht sehr große Anwendungen anzuwenden, führt dies normalerweise zu mehr Verlust als Gewinn.
MVC ist eine gute Möglichkeit, Software zu erstellen
MVC-Entwurfsmuster sind eine gute Möglichkeit, Software zu erstellen, wie z möglicherweise leichter zu verstehen, wenn Inhalt und Anzeige voneinander getrennt werden. Wenn Sie jedoch die Komponenten des Modells, der Ansicht und des Controllers isolieren möchten, müssen Sie möglicherweise Ihre Anwendung überdenken, insbesondere die architektonischen Aspekte der Anwendung. Wenn Sie bereit sind, MVC zu akzeptieren und in der Lage sind, mit der damit verbundenen zusätzlichen Arbeit und Komplexität umzugehen, wird MVC Ihre Software in Bezug auf Robustheit, Code-Wiederverwendung und Struktur auf ein neues Niveau heben.
Verwandte Empfehlungen:
So implementieren Sie die Routing-Funktion des MVC-Frameworks von PHP.
Detaillierte Erklärung, wie der von MVC generierte Seitenzahlenselektor HTML-Code zurückgibt?
Das obige ist der detaillierte Inhalt vonWas ist das MVC-Framework? Hier sind die Antworten für Sie: Praktische Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!