Maison >Problème commun >Quelle est la différence entre MVC, MVP et MVVM ?

Quelle est la différence entre MVC, MVP et MVVM ?

青灯夜游
青灯夜游original
2019-04-16 10:27:3024281parcourir

Différence : MVC signifie "Model-View-Controller", MVP signifie "Model-View-Presenter", MVVM signifie "Model-View-ViewModel" et MVP et MVVM sont tous deux dérivés de MVC de ; . Dans MVC, View lit les données directement à partir du modèle ; dans MVP, View n'utilise pas directement le modèle.

Quelle est la différence entre MVC, MVP et MVVM ?

MVC, MVP et MVVM sont trois modèles de conception populaires. Parmi eux, MVC signifie model-view-controller, MVP signifie model-view-presenter et MVVM signifie model-view-view model. MVP et MVVM sont tous deux dérivés de MVC. Tous ces modèles de conception aident généralement au développement d’applications peu composées, faciles à tester et à maintenir.

1. MVC (Model-View-Controller)

MVC est un modèle architectural relativement intuitif, ancré à l'origine dans le développement Web côté serveur. Plus tard, je suis progressivement devenu compétent dans le développement Web côté client et j'ai pu en appréhender la complexité et la richesse.

Quelle est la différence entre MVC, MVP et MVVM ?

Le modèle MVC divise l'application en trois parties :

● Modèle : Modèle (utilisé pour encapsuler la logique métier liée à l'application. Données et méthodes de traitement des données)

Quantity View : View (page rendue)

QuantityController : Controller (connecteur entre M et V, utilisé pour contrôler le processus d'application et la logique métier de la page)

Fonctionnalités MVC :

La caractéristique du modèle MVC est de réaliser la séparation des préoccupations, c'est-à-dire le modèle de données et l'activité et l'affichage dans l'application Découplage logique. Dans le développement Web côté client, le code est séparé et faiblement couplé entre le modèle (données M, données d'exploitation) et la vue (élément V-HTML qui affiche les données), ce qui facilite le développement, la maintenance et le test de l'application client.

Opération utilisateur->View (responsable de la réception des opérations de saisie de l'utilisateur)->Contrôleur (traitement de la logique métier)->Modèle (persistance des données)->View (renvoyant les résultats à View) :

1. View envoie des instructions au contrôleur ;

2. Une fois que le contrôleur a terminé la logique métier, il nécessite que le modèle change d'état

3. Le modèle envoie de nouvelles données à View ; , Les utilisateurs reçoivent des commentaires.

2. MVP (Model-View-Presenter)

MVP remplace le contrôleur dans MVC par le présentateur (présentation), le but est de couper complètement la connexion entre View et Model, Presenter agissant comme un pont pour isoler complètement la direction de communication entre View-Model.

Quelle est la différence entre MVC, MVP et MVVM ?

Fonctionnalités MVP :

● Communication bidirectionnelle entre M, V et P.

  ● Il n'y a aucune communication entre View et Model, et ils sont tous transmis via Presenter. Presenter sépare complètement le modèle et la vue, et la logique principale du programme est implémentée dans Presenter.

●View est très fin et ne déploie aucune logique métier. Il est appelé "Passive View", c'est-à-dire qu'il n'a aucune initiative, tandis que Presenter est très épais et toute la logique y est déployée.

● Le Présentateur n'est pas directement lié à la Vue spécifique, mais interagit via une interface définie, de sorte que le Présentateur puisse rester inchangé lorsque la Vue est modifiée, afin qu'il puisse être réutilisé. De plus, vous pouvez également écrire une vue de test pour simuler diverses opérations utilisateur afin de tester le présentateur, éliminant ainsi le besoin d'utiliser des outils de test automatisés.

3. MVVM (Model-View-ViewModel)

Le mode MVVM renomme Presenter en ViewModel, ce qui est fondamentalement le même que Mode MVP Totalement cohérent. Si MVP est une nouvelle amélioration de MVC, alors MVVM est un changement complet de mentalité. Il prend l'idée de « liaison bidirectionnelle des données du modèle de données » comme base, il n'y a donc aucune connexion entre View et Model. L'interaction se fait via ViewModel, et l'interaction entre Model et ViewModel est bidirectionnelle, donc. les modifications dans les données de la vue seront en même temps modifiées et les modifications dans les données de la source de données seront immédiatement reflétées sur la vue.

Quelle est la différence entre MVC, MVP et MVVM ?

Résumé :

Dans MVC, View lira les données directement à partir du modèle au lieu de via le contrôleur ; il existe une relation plusieurs-à-un entre View et Controller.

Dans MVP, View n'utilise pas directement le modèle. La communication entre eux s'effectue via Presenter (Contrôleur dans MVC). Toutes les interactions se produisent à l'intérieur de Presenter et d'une relation individuelle.

Le mode MVVM est fondamentalement le même que le mode MVP. La seule différence est que MVVM utilise une liaison bidirectionnelle (liaison de données) : les modifications apportées à View sont automatiquement reflétées dans ViewModel, et vice versa.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn