Press "Enter" to skip to content

ViewModel est-il un présentateur ?

Presenter gère le flux d'application et la vue est l'application réelle. ViewModel est l'application réelle et View est l'interface permettant à l'utilisateur d'interagir avec l'application.

Q. Comment fonctionne Model View Presenter ?

Le présentateur est chargé d'agir en tant qu'intermédiaire entre la vue et le modèle. Il récupère les données du modèle et les renvoie formatées à la vue. Mais contrairement au MVC typique, il décide également de ce qui se passe lorsque vous interagissez avec la vue.

Q. Quand utiliser MVP au lieu de MVVM ?

Dans les cas où la liaison avec DataContext n'est pas possible, la plupart des développeurs préfèrent MVP (Windows Forms étant un excellent exemple). MVVM est préférable dans les cas où la liaison avec DataContext est possible, car il y a moins d'interfaces et moins de code à maintenir.

Q. Pourquoi avons-nous besoin du modèle MVVM modèle-vue-ViewModel ?

Le modèle Modèle-Vue-VueModèle

  • La vue — qui informe le ViewModel des actions de l'utilisateur.
  • Le ViewModel — expose des flux de données pertinentes pour la vue.
  • Le DataModel — résume la source de données. Le ViewModel fonctionne avec le DataModel pour obtenir et enregistrer les données.

Q. Quel est le modèle de présentateur ?

Le modèle Presenter traite les contrôleurs gonflés et les vues contenant de la logique de concert en créant une représentation de classe de l'état de la vue. Une architecture qui utilise le modèle Presenter fournit des données spécifiques à la vue en tant qu'attributs d'une instance de Presenter.

Q. Quelle est la différence entre MVC MVP et MVVM et quand utiliser quoi ?

MVP et MVVM sont des dérivés de MVC. La principale différence entre MVC et ses dérivés réside dans la dépendance de chaque couche vis-à-vis des autres couches, ainsi que dans la mesure dans laquelle elles sont étroitement liées les unes aux autres. MVVM tente d'éviter ces problèmes. Dans MVP, le rôle du contrôleur est remplacé par un présentateur.

Q. Quel est le meilleur MVC ou MVP ?

La seule différence entre le présentateur dans MVP et le contrôleur dans un MVC typique est qu'il décide également de ce qui se passera lorsque vous interagissez avec la vue. C'est pourquoi il est plus facile de le tester unitairement en se moquant de la vue et du modèle. MVP dans Android est un modèle de conception largement utilisé car il est plus testable et lisible.

Q. Que se passe-t-il dans le ViewModel ?

La vue et le modèle de vue

  • La vue et le modèle de vue communiquent via la liaison de données, les appels de méthode, les propriétés, les événements et les messages.
  • Le modèle de vue expose non seulement des modèles, mais d'autres propriétés (telles que des informations d'état, comme l'indicateur "est occupé") et des commandes.

Q. En quoi un ViewModel est-il différent d'un présentateur ?

Contrairement au présentateur dans MVP, un ViewModel n'a pas besoin d'une référence à une vue. La vue est liée aux propriétés d'un ViewModel, qui, à son tour, expose les données contenues dans les objets de modèle et d'autres états spécifiques à la vue.

Q. Comment le ViewModel aide-t-il à maintenir l'état du modèle ?

Le modèle de vue expose également des méthodes, des commandes et d'autres points qui aident à maintenir l'état de la vue, à manipuler le modèle à la suite d'actions sur la vue et à déclencher des événements dans la vue elle-même.

Q. Le MVVM est-il le même que le modèle de présentation ?

MVVM est identique au modèle de présentation de Fowler, en ce que les deux modèles présentent une abstraction d'une vue, qui contient l'état et le comportement d'une vue.

Q. Comment un modèle pm est-il lié à un modèle de présentation ?

La partie intéressante du modèle PM est qu'une abstraction d'une vue est créée, appelée modèle de présentation. Une vue devient alors simplement un rendu d'un modèle de présentation. Dans l'explication de Fowler, il montre que le modèle de présentation met fréquemment à jour sa vue, de sorte que les deux restent synchronisés l'un avec l'autre.