Heim Backend-Entwicklung PHP-Tutorial Was ist das MVC-Framework? Hier sind die Antworten für Sie: Praktische Tipps

Was ist das MVC-Framework? Hier sind die Antworten für Sie: Praktische Tipps

Dec 15, 2017 am 11:42 AM
mvc mvc框架 框架

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:

Was ist das MVC-Framework

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So bewerten Sie die Kosteneffizienz der kommerziellen Unterstützung für Java-Frameworks So bewerten Sie die Kosteneffizienz der kommerziellen Unterstützung für Java-Frameworks Jun 05, 2024 pm 05:25 PM

Die Bewertung des Kosten-/Leistungsverhältnisses des kommerziellen Supports für ein Java-Framework umfasst die folgenden Schritte: Bestimmen Sie das erforderliche Maß an Sicherheit und Service-Level-Agreement-Garantien (SLA). Die Erfahrung und das Fachwissen des Forschungsunterstützungsteams. Erwägen Sie zusätzliche Services wie Upgrades, Fehlerbehebung und Leistungsoptimierung. Wägen Sie die Kosten für die Geschäftsunterstützung gegen Risikominderung und Effizienzsteigerung ab.

Wie wirken sich die Lightweight-Optionen von PHP-Frameworks auf die Anwendungsleistung aus? Wie wirken sich die Lightweight-Optionen von PHP-Frameworks auf die Anwendungsleistung aus? Jun 06, 2024 am 10:53 AM

Das leichte PHP-Framework verbessert die Anwendungsleistung durch geringe Größe und geringen Ressourcenverbrauch. Zu seinen Merkmalen gehören: geringe Größe, schneller Start, geringer Speicherverbrauch, verbesserte Reaktionsgeschwindigkeit und Durchsatz sowie reduzierter Ressourcenverbrauch. Praktischer Fall: SlimFramework erstellt eine REST-API, nur 500 KB, hohe Reaktionsfähigkeit und hoher Durchsatz

Wie ist die Lernkurve von PHP-Frameworks im Vergleich zu anderen Sprach-Frameworks? Wie ist die Lernkurve von PHP-Frameworks im Vergleich zu anderen Sprach-Frameworks? Jun 06, 2024 pm 12:41 PM

Die Lernkurve eines PHP-Frameworks hängt von Sprachkenntnissen, Framework-Komplexität, Dokumentationsqualität und Community-Unterstützung ab. Die Lernkurve von PHP-Frameworks ist im Vergleich zu Python-Frameworks höher und im Vergleich zu Ruby-Frameworks niedriger. Im Vergleich zu Java-Frameworks haben PHP-Frameworks eine moderate Lernkurve, aber eine kürzere Einstiegszeit.

Leistungsvergleich von Java-Frameworks Leistungsvergleich von Java-Frameworks Jun 04, 2024 pm 03:56 PM

Laut Benchmarks sind Quarkus (schneller Start, geringer Speicher) oder Micronaut (TechEmpower ausgezeichnet) für kleine, leistungsstarke Anwendungen die ideale Wahl. SpringBoot eignet sich für große Full-Stack-Anwendungen, weist jedoch etwas langsamere Startzeiten und Speichernutzung auf.

Best Practices für die Dokumentation des Golang-Frameworks Best Practices für die Dokumentation des Golang-Frameworks Jun 04, 2024 pm 05:00 PM

Das Verfassen einer klaren und umfassenden Dokumentation ist für das Golang-Framework von entscheidender Bedeutung. Zu den Best Practices gehört die Befolgung eines etablierten Dokumentationsstils, beispielsweise des Go Coding Style Guide von Google. Verwenden Sie eine klare Organisationsstruktur, einschließlich Überschriften, Unterüberschriften und Listen, und sorgen Sie für eine Navigation. Bietet umfassende und genaue Informationen, einschließlich Leitfäden für den Einstieg, API-Referenzen und Konzepte. Verwenden Sie Codebeispiele, um Konzepte und Verwendung zu veranschaulichen. Halten Sie die Dokumentation auf dem neuesten Stand, verfolgen Sie Änderungen und dokumentieren Sie neue Funktionen. Stellen Sie Support und Community-Ressourcen wie GitHub-Probleme und Foren bereit. Erstellen Sie praktische Beispiele, beispielsweise eine API-Dokumentation.

So wählen Sie das beste Golang-Framework für verschiedene Anwendungsszenarien aus So wählen Sie das beste Golang-Framework für verschiedene Anwendungsszenarien aus Jun 05, 2024 pm 04:05 PM

Wählen Sie das beste Go-Framework basierend auf Anwendungsszenarien aus: Berücksichtigen Sie Anwendungstyp, Sprachfunktionen, Leistungsanforderungen und Ökosystem. Gängige Go-Frameworks: Gin (Webanwendung), Echo (Webdienst), Fiber (hoher Durchsatz), gorm (ORM), fasthttp (Geschwindigkeit). Praktischer Fall: Erstellen einer REST-API (Fiber) und Interaktion mit der Datenbank (gorm). Wählen Sie ein Framework: Wählen Sie fasthttp für die Schlüsselleistung, Gin/Echo für flexible Webanwendungen und gorm für die Datenbankinteraktion.

Was sind die häufigsten Missverständnisse im Lernprozess des Golang-Frameworks? Was sind die häufigsten Missverständnisse im Lernprozess des Golang-Frameworks? Jun 05, 2024 pm 09:59 PM

Beim Go-Framework-Lernen gibt es fünf Missverständnisse: übermäßiges Vertrauen in das Framework und eingeschränkte Flexibilität. Wenn Sie die Framework-Konventionen nicht befolgen, wird es schwierig, den Code zu warten. Die Verwendung veralteter Bibliotheken kann zu Sicherheits- und Kompatibilitätsproblemen führen. Die übermäßige Verwendung von Paketen verschleiert die Codestruktur. Das Ignorieren der Fehlerbehandlung führt zu unerwartetem Verhalten und Abstürzen.

Roadmap zum Java Framework-Lernen: Best Practices in verschiedenen Bereichen Roadmap zum Java Framework-Lernen: Best Practices in verschiedenen Bereichen Jun 05, 2024 pm 08:53 PM

Roadmap zum Java-Framework-Lernen für verschiedene Bereiche: Webentwicklung: SpringBoot und PlayFramework. Persistenzschicht: Ruhezustand und JPA. Serverseitige reaktive Programmierung: ReactorCore und SpringWebFlux. Echtzeit-Computing: ApacheStorm und ApacheSpark. Cloud Computing: AWS SDK für Java und Google Cloud Java.

See all articles