Heim häufiges Problem Was ist der Unterschied zwischen MVC, MVP und MVVM?

Was ist der Unterschied zwischen MVC, MVP und MVVM?

Apr 16, 2019 am 10:27 AM
mvc mvvm

Unterschied: MVC steht für „Model-View-Controller“, MVP steht für „Model-View-Presenter“, MVVM steht für „Model-View-ViewModel“; MVP und MVVM sind beide von MVC abgeleitet . In MVC liest View Daten direkt aus Model; in MVP verwendet View Model nicht direkt.

Was ist der Unterschied zwischen MVC, MVP und MVVM?

MVC, MVP und MVVM sind drei beliebte Designmuster. Unter diesen steht MVC für Model-View-Controller, MVP für Model-View-Presenter und MVVM für Model-View-View-Modell. MVP und MVVM sind beide von MVC abgeleitet. Alle diese Entwurfsmuster helfen im Allgemeinen bei der Entwicklung lose zusammengesetzter Anwendungen, die einfach zu testen und zu warten sind.

1. MVC (Model-View-Controller)

MVC ist ein relativ intuitives Architekturmuster, das ursprünglich in der serverseitigen Webentwicklung verwurzelt ist Später erlangte ich nach und nach Kompetenz in der clientseitigen Webentwicklung und konnte deren Komplexität und Vielfältigkeit bewältigen.

Was ist der Unterschied zwischen MVC, MVP und MVVM?

MVC-Muster unterteilt die Anwendung in drei Teile:

● Modell: Modell (wird verwendet, um die Geschäftslogik im Zusammenhang mit den Anwendungsdaten zu kapseln und Datenverarbeitungsmethoden)

● Ansicht: Ansicht (gerenderte Seite)

●Controller: Controller (Verbindungsstück zwischen M und V, wird zur Steuerung des Anwendungsprozesses und der Geschäftslogik der Seite verwendet)

MVC-Funktionen:

Das Merkmal des MVC-Modells besteht darin, eine Trennung von Belangen zu erreichen, d. h. die logische Entkopplung von Datenmodell und Geschäft sowie der Anzeige in der Anwendung. Bei der clientseitigen Webentwicklung ist der Code getrennt und lose zwischen dem Modell (M-Daten, Betriebsdaten) und der Ansicht (V-HTML-Element, das Daten anzeigt) gekoppelt, was die Entwicklung, Wartung und das Testen der Clientanwendung erleichtert.

Benutzeroperation->View (verantwortlich für den Empfang von Benutzereingabeoperationen)->Controller (Geschäftslogikverarbeitung)->Modell (Datenpersistenz)->View (Rückführung der Ergebnisse an View):

1. View sendet Anweisungen an den Controller

2. Nachdem der Controller die Geschäftslogik abgeschlossen hat, muss das Modell den Status ändern.

3. Das Modell sendet neue Daten an View , Benutzer erhalten Feedback.

2. MVP (Model-View-Presenter)

MVP ersetzt den Controller in MVC durch den Presenter (Präsentation), Der Zweck besteht darin, die Verbindung zwischen Ansicht und Modell vollständig zu unterbrechen, wobei Presenter als Brücke fungiert, um die Kommunikationsrichtung zwischen Ansicht und Modell vollständig zu isolieren.

Was ist der Unterschied zwischen MVC, MVP und MVVM?

MVP-Funktionen:

● Zwei-Wege-Kommunikation zwischen M, V und P.

 ● Es gibt keine Kommunikation zwischen Ansicht und Modell und sie werden alle über Presenter bereitgestellt. Presenter trennt Modell und Ansicht vollständig und die Hauptprogrammlogik ist in Presenter implementiert.

● View ist sehr dünn und stellt keine Geschäftslogik bereit. Es wird als „Passive View“ bezeichnet, das heißt, es verfügt über keine Initiative, während Presenter sehr dick ist und die gesamte Logik dort bereitgestellt wird.

● Der Presenter steht nicht in direktem Zusammenhang mit der spezifischen Ansicht, sondern interagiert über eine definierte Schnittstelle, sodass der Presenter bei einer Änderung der Ansicht unverändert bleiben und wiederverwendet werden kann. Darüber hinaus können Sie auch eine Testansicht schreiben, um verschiedene Benutzervorgänge zu simulieren, um den Presenter zu testen – wodurch die Verwendung automatisierter Testtools entfällt.

3. MVVM (Model-View-ViewModel)

Der MVVM-Modus benennt Presenter in ViewModel um, was im Grunde dasselbe ist wie MVP-Modus Völlig konsistent. Wenn MVP eine weitere Verbesserung von MVC ist, dann ist MVVM ein völliger Umdenken. Der Kern liegt auf der Idee der „bidirektionalen Bindung von Datenmodelldaten“, sodass keine Verbindung zwischen Ansicht und Modell besteht. Die Interaktion erfolgt über ViewModel, und die Interaktion zwischen Modell und ViewModel erfolgt also in beide Richtungen Änderungen an den Daten der Ansicht werden durchgeführt. Gleichzeitig wird die Datenquelle geändert, und Änderungen an den Datenquellendaten werden sofort in der Ansicht widergespiegelt.

Was ist der Unterschied zwischen MVC, MVP und MVVM?

Zusammenfassung:

In MVC liest View Daten direkt vom Modell statt über den Controller; Es besteht eine Viele-zu-Eins-Beziehung zwischen Ansicht und Controller.

In MVP verwendet View das Modell nicht direkt. Die Kommunikation zwischen ihnen erfolgt über Presenter (Controller in MVC). Alle Interaktionen erfolgen innerhalb der Eins-zu-Eins-Beziehung von Presenter.

Der MVVM-Modus ist im Grunde derselbe wie der MVP-Modus. Der einzige Unterschied besteht darin, dass MVVM eine bidirektionale Bindung (Datenbindung) verwendet: Änderungen in View werden automatisch in ViewModel widergespiegelt und umgekehrt.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen MVC, MVP und MVVM?. 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)

Heiße Themen

Java-Tutorial
1658
14
PHP-Tutorial
1257
29
C#-Tutorial
1231
24
PHP implementiert die MVVM-Architektur: Grundprinzipien und Anwendungen PHP implementiert die MVVM-Architektur: Grundprinzipien und Anwendungen Jun 18, 2023 am 08:54 AM

Mit der rasanten Entwicklung von Webanwendungen richten immer mehr Entwickler ihre Aufmerksamkeit auf verschiedene neue Webentwicklungs-Frameworks und architektonische Entwurfsmuster. Eines der bekanntesten Entwurfsmuster ist das MVVM-Architekturmuster (ModelViewViewModel). MVVM übernimmt ein modernes Designmuster, das es Entwicklern ermöglicht, Anwendungen durch die Trennung von Benutzeroberfläche und Geschäftslogik besser zu verwalten und zu warten. Darüber hinaus reduziert MVVM unnötige Kopplungen und verbessert die Wiederverwendbarkeit und Flexibilität des Codes.

PHP MVC-Architektur: Webanwendungen für die Zukunft erstellen PHP MVC-Architektur: Webanwendungen für die Zukunft erstellen Mar 03, 2024 am 09:01 AM

Einführung In der sich schnell entwickelnden digitalen Welt von heute ist es von entscheidender Bedeutung, robuste, flexible und wartbare WEB-Anwendungen zu erstellen. Die PHPmvc-Architektur bietet eine ideale Lösung, um dieses Ziel zu erreichen. MVC (Model-View-Controller) ist ein weit verbreitetes Entwurfsmuster, das verschiedene Aspekte einer Anwendung in unabhängige Komponenten unterteilt. Die Grundlage der MVC-Architektur Das Kernprinzip der MVC-Architektur ist die Trennung von Belangen: Modell: Kapselt die Daten und Geschäftslogik der Anwendung. Ansicht: Verantwortlich für die Präsentation von Daten und die Abwicklung der Benutzerinteraktion. Controller: Koordiniert die Interaktion zwischen Modellen und Ansichten, verwaltet Benutzeranfragen und Geschäftslogik. PHPMVC-Architektur Die phpMVC-Architektur folgt dem traditionellen MVC-Muster, führt aber auch sprachspezifische Funktionen ein. Das Folgende ist PHPMVC

Eine erweiterte Anleitung zur PHP-MVC-Architektur: Erweiterte Funktionen freischalten Eine erweiterte Anleitung zur PHP-MVC-Architektur: Erweiterte Funktionen freischalten Mar 03, 2024 am 09:23 AM

Die MVC-Architektur (Model-View-Controller) ist eines der beliebtesten Muster in der PHP-Entwicklung, da sie eine klare Struktur zum Organisieren von Code bietet und die Entwicklung von WEB-Anwendungen vereinfacht. Während die grundlegenden MVC-Prinzipien für die meisten Webanwendungen ausreichend sind, gibt es einige Einschränkungen für Anwendungen, die komplexe Daten verarbeiten oder erweiterte Funktionen implementieren müssen. Trennen der Modellschicht Das Trennen der Modellschicht ist eine gängige Technik in der fortgeschrittenen MVC-Architektur. Dabei wird eine Modellklasse in kleinere Unterklassen zerlegt, die sich jeweils auf eine bestimmte Funktionalität konzentrieren. Beispielsweise könnten Sie für eine E-Commerce-Anwendung die Hauptmodellklasse in ein Bestellmodell, ein Produktmodell und ein Kundenmodell zerlegen. Diese Trennung trägt dazu bei, die Wartbarkeit und Wiederverwendbarkeit des Codes zu verbessern. Verwenden Sie die Abhängigkeitsinjektion

Entdecken Sie den Erfolg des SpringMVC-Frameworks: Warum es so beliebt ist Entdecken Sie den Erfolg des SpringMVC-Frameworks: Warum es so beliebt ist Jan 24, 2024 am 08:39 AM

SpringMVC-Framework entschlüsselt: Warum ist es so beliebt? Es werden spezifische Codebeispiele benötigt. Einführung: Im heutigen Bereich der Softwareentwicklung ist das SpringMVC-Framework bei Entwicklern zu einer sehr beliebten Wahl geworden. Es handelt sich um ein Web-Framework, das auf dem MVC-Architekturmuster basiert und eine flexible, leichte und effiziente Entwicklungsmethode bietet. Dieser Artikel befasst sich mit dem Charme des SpringMVC-Frameworks und demonstriert seine Leistungsfähigkeit anhand konkreter Codebeispiele. 1. Vorteile des SpringMVC-Frameworks Flexible Konfigurationsmethode Spr

So implementieren Sie das MVC-Muster mit PHP So implementieren Sie das MVC-Muster mit PHP Jun 07, 2023 pm 03:40 PM

Das MVC-Muster (Model-View-Controller) ist ein häufig verwendetes Software-Designmuster, das Entwicklern dabei helfen kann, Code besser zu organisieren und zu verwalten. Das MVC-Muster unterteilt die Anwendung in drei Teile: Modell, Ansicht und Controller. Jeder Teil hat seine eigene Rolle und Verantwortlichkeiten. In diesem Artikel besprechen wir, wie man das MVC-Muster mit PHP implementiert. Modell Ein Modell repräsentiert die Daten und Datenverarbeitung einer Anwendung. allgemein,

So implementieren Sie eine skalierbare MVC-Architektur im PHP8-Framework So implementieren Sie eine skalierbare MVC-Architektur im PHP8-Framework Sep 11, 2023 pm 01:27 PM

So implementieren Sie eine skalierbare MVC-Architektur im PHP8-Framework Einführung: Mit der rasanten Entwicklung des Internets übernehmen immer mehr Websites und Anwendungen das MVC-Architekturmuster (Model-View-Controller). Das Hauptziel der MVC-Architektur besteht darin, verschiedene Teile der Anwendung zu trennen, um die Wartbarkeit und Skalierbarkeit des Codes zu verbessern. In diesem Artikel stellen wir vor, wie man eine skalierbare MVC-Architektur im PHP8-Framework implementiert. 1. Verstehen Sie das MVC-Architekturmuster. Das MVC-Architekturmuster ist ein Softwaredesign

So verwenden Sie die MVC-Architektur zum Entwerfen von Projekten in PHP So verwenden Sie die MVC-Architektur zum Entwerfen von Projekten in PHP Jun 27, 2023 pm 12:18 PM

In der Webentwicklung ist MVC (Model-View-Controller) ein häufig verwendetes Architekturmuster zur Verarbeitung und Verwaltung der Daten, Benutzeroberfläche und Steuerlogik einer Anwendung. Als beliebte Webentwicklungssprache kann PHP auch die MVC-Architektur zum Entwerfen und Erstellen von Webanwendungen nutzen. In diesem Artikel wird die Verwendung der MVC-Architektur zum Entwerfen von Projekten in PHP vorgestellt und deren Vorteile und Vorsichtsmaßnahmen erläutert. Was MVCMVC ist, ist ein Software-Architekturmuster, das häufig in Webanwendungen verwendet wird. MV

MVC mit dem PHP8-Framework entwickeln: Wichtige Konzepte und Techniken, die Anfänger kennen müssen MVC mit dem PHP8-Framework entwickeln: Wichtige Konzepte und Techniken, die Anfänger kennen müssen Sep 11, 2023 am 09:43 AM

MVC mit dem PHP8-Framework entwickeln: Wichtige Konzepte und Techniken, die Anfänger kennen müssen. Einführung: Angesichts der rasanten Entwicklung des Internets spielt die Webentwicklung in der heutigen Softwareentwicklungsbranche eine wichtige Rolle. PHP wird häufig für die Webentwicklung verwendet und es gibt viele ausgereifte Frameworks, die Entwicklern helfen, Anwendungen effizienter zu erstellen. Unter diesen ist die MVC-Architektur (Model-View-Controller) eines der am weitesten verbreiteten und am weitesten verbreiteten Muster. In diesem Artikel wird vorgestellt, wie Anfänger das PHP8-Framework zum Entwickeln von MVC-Anwendungen verwenden können.