Stellen Sie die Unterschiede und die Verwendung von MVC, MVP und MVVM vor

巴扎黑
Freigeben: 2017-08-06 10:25:39
Original
2001 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage