Heim > häufiges Problem > Was ist der Unterschied zwischen dem MVVM-Modus und dem MVC-Modus?

Was ist der Unterschied zwischen dem MVVM-Modus und dem MVC-Modus?

青灯夜游
Freigeben: 2020-07-25 11:17:08
Original
14182 Leute haben es durchsucht

Unterschied: Controller in MVC hat sich zu viewModel in MVVM entwickelt. MVVM löst hauptsächlich die Probleme einer verringerten Seitenrendering-Leistung und einer langsameren Ladegeschwindigkeit, die durch eine große Anzahl von DOM-Operationen in MVC verursacht werden. Wenn sich das Modell in MVVM häufig ändert, müssen Entwickler aktiv auf View aktualisieren.

Was ist der Unterschied zwischen dem MVVM-Modus und dem MVC-Modus?

1. Was ist MVVM?

Unter dem MVVM-Framework können die Ansicht und das Modell nur über das ViewModel interagieren. Es kann Datenänderungen überwachen und die Ansicht dann automatisch aktualisieren Benutzer Beim Betrieb einer Ansicht kann die VM auch Änderungen in der Ansicht überwachen und dann die Daten benachrichtigen, um entsprechende Änderungen vorzunehmen. Dadurch wird tatsächlich eine bidirektionale Datenbindung realisiert. Und V und VM können kommunizieren.

Bildbeispiele sind wie folgt:

Was ist der Unterschied zwischen dem MVVM-Modus und dem MVC-Modus?
Vorteile des MVVM-Modus:

Geringe Kopplung: Die Ansicht kann sich unabhängig voneinander ändern und modifizieren des Modells kann ein ViewModel an verschiedene Ansichten gebunden werden. Wenn sich die Ansicht ändert, kann das Modell unverändert bleiben, und wenn sich das Modell ändert, kann die Ansicht auch unverändert bleiben.

Wiederverwendbarkeit: Sie können eine Ansichtslogik in ein ViewModel einfügen und viele Ansichten diese Ansichtslogik wiederverwenden lassen.

Unabhängige Entwicklung: Entwickler können sich auf die Entwicklung von Geschäftslogik und Daten konzentrieren und Designer können sich auf das Seitendesign konzentrieren.

2. Was ist MVC?

MVC ist eine der am weitesten verbreiteten Softwarearchitekturen. Im Allgemeinen ist MVC unterteilt in:

Modell (Modell), Ansicht (Ansicht) und Controller (Controller). Dies basiert hauptsächlich auf dem Zweck der Schichtung, um die Verantwortlichkeiten voneinander zu trennen.

View verwendet im Allgemeinen Controller, um mit Model zu kommunizieren.

Controller ist der Koordinator von Modell und Ansicht, und Ansicht und Modell sind nicht direkt miteinander verbunden. Im Grunde handelt es sich um einen einseitigen Kontakt.

M und V haben die gleiche Bedeutung wie M und V in MVVM. C bedeutet, dass sich Controller auf die Seitengeschäftslogik bezieht. MVC ist eine einseitige Kommunikation. Das heißt, Ansicht und Modell müssen über den Controller verbunden sein.

3. Der Unterschied zwischen mvc und mvvm:

Der Unterschied zwischen MVC und MVVM besteht nicht darin, dass VM C vollständig ersetzt. Der Zweck von ViewModel besteht darin, das zu abstrahieren Anstatt den Controller zu ersetzen, sollten weiterhin andere Ansichtsbetriebsdienste im Controller implementiert werden. Mit anderen Worten: MVVM implementiert die Wiederverwendung von Geschäftslogikkomponenten.

-Controller in MVC entwickelt sich zu ViewModel in MVVM

-MVVM zeigt die Ansichtsebene durch Daten anstelle von Knotenoperationen an

-MVVM löst hauptsächlich eine große Anzahl von Doms in MVC Der Vorgang verringert die Leistung beim Rendern der Seite, verlangsamt die Ladegeschwindigkeit und beeinträchtigt das Benutzererlebnis.

Weitere Informationen zu diesem Thema finden Sie unter: PHP-Website für Chinesisch!

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