Maison >Problème commun >Quelle est la différence entre MVVM et MVC
Les différences entre MVVM et MVC sont : 1. La communication entre chaque partie de mvvm est bidirectionnelle, tandis que la communication entre chaque partie de mvc est unidirectionnelle. 2. mvvm sépare véritablement la page et les données ; logique et le met dans l'implémentation js, mais non séparé dans mvc.
[Tutoriel recommandé : Tutoriel MVC]
MVC
MVC comprend une couche de vue, une couche de contrôle du contrôleur et une couche de données de modèle. La communication entre les pièces est à sens unique.
View envoie des instructions à ControllerController. Après avoir terminé la logique métier, Model doit changer l'état. Model envoie de nouvelles données à View et l'utilisateur reçoit des commentaires
.MVVM
MVVM comprend une couche de vue, une couche de données de modèle et une couche de modèle de vue. La communication entre toutes les parties est bidirectionnelle. Grâce à la liaison de données bidirectionnelle, les modifications apportées à View sont automatiquement reflétées dans ViewModel, et vice versa. La couche ViewModel est le ciment entre les couches View et Model. C'est un excellent endroit pour placer la logique de validation des entrées utilisateur, visualiser la logique d'affichage, lancer des requêtes réseau et d'autres codes divers. Pour parler franchement, cela signifie supprimer la logique métier et la logique de page de la couche ViewController d'origine et la placer dans la couche ViewModel
La différence entre MVC et MVVM
Dans MVC, View peut accéder directement au modèle, donc la vue contiendra des informations sur le modèle et une certaine logique métier. Le modèle MVC se concentre sur l'invariance du modèle, donc dans le modèle MVC, le modèle ne dépend pas de la vue, mais la vue dépend du modèle. De plus, étant donné qu'une certaine logique métier est implémentée dans View, il est également difficile de modifier View, du moins cette logique métier ne peut pas être réutilisée.
MVVM est conceptuellement un modèle qui sépare véritablement la logique des pages et des données. Il place le travail de liaison de données dans un JS à implémenter, et la fonction principale de ce fichier JS est de terminer la liaison des données, c'est-à-dire de lier le modèle. aux éléments de l’interface utilisateur. De plus, une autre fonctionnalité importante de MVVM est la liaison bidirectionnelle, ce qui vous permet de gérer plus facilement N zones sur la page qui dépendent toutes d'un certain champ en même temps, sans avoir à les mettre à jour manuellement.
Résumé : ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde
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!