Was sind MVC, MVP und MVVM? MVC (Model-View-Controller) ist eine der am weitesten verbreiteten Softwarearchitekturen und wird in der Branche häufig verwendet. Für sich genommen ist es leicht zu verstehen, aber es ist nicht so einfach zu erklären, wie es sich von den abgeleiteten MVP- und MVVM-Architekturen unterscheidet.
1. MVC
Das MVC-Modell bedeutet, dass die Software in drei Teile unterteilt werden kann.
Ansicht: Benutzeroberfläche.
Controller: Geschäftslogik
Modell: Datenspeicherung
Die Kommunikationsmethode zwischen den einzelnen Teilen ist wie folgt.
1. View sendet Anweisungen an den Controller
2. Nachdem der Controller die Geschäftslogik abgeschlossen hat, muss das Modell den Status ändern
3 .Model wird neue Daten an die Ansicht senden und der Benutzer erhält Feedback
Die gesamte Kommunikation erfolgt in eine Richtung.
2. Interaktiver Modus
Bei der Annahme von Benutzeranweisungen kann MVC in zwei Methoden unterteilt werden. Eine besteht darin, Anweisungen über die Ansicht zu akzeptieren und sie an den Controller weiterzuleiten.
Die andere besteht darin, Anweisungen direkt über den Controller anzunehmen.
3. Beispiel: Backbone
Tatsächliche Projekte verfolgen oft einen flexibleren Ansatz, nehmen Sie Backbone.js als Beispiel.
1 Der Benutzer kann Anweisungen (DOM-Ereignisse) an die Ansicht senden, und die Ansicht fordert dann direkt das Modell auf, den Status zu ändern.
2. Der Benutzer kann Anweisungen auch direkt an den Controller senden (eine Änderung der URL löst das hashChange-Ereignis aus) und der Controller sendet sie dann an die Ansicht.
3. Der Controller ist sehr dünn und spielt nur eine Routing-Rolle, während View sehr dick ist und die Geschäftslogik in View bereitgestellt wird. Daher hat Backbone einfach den Controller gestrichen und nur einen Router beibehalten.
4. MVP
Der MVP-Modus benennt Controller in Presenter um und ändert die Kommunikationsrichtung.
1 Die Kommunikation zwischen verschiedenen Teilen erfolgt in beide Richtungen.
2. Ansicht und Modell sind nicht miteinander verbunden und werden beide über Presenter weitergeleitet.
3. 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.
5. MVVM
Der MVVM-Modus benennt Presenter in ViewModel um, was im Grunde dasselbe ist wie der MVP-Modus.
Der einzige Unterschied besteht darin, dass eine bidirektionale Bindung (Datenbindung) verwendet wird: Änderungen in View werden automatisch in ViewModel widergespiegelt und umgekehrt. Sowohl eckig als auch glitzernd übernehmen dieses Muster.
Das obige ist der detaillierte Inhalt vonStellen Sie die Unterschiede und die Verwendung von MVC, MVP und MVVM vor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!