Présenter les différences et l'utilisation de MVC, MVP et MVVM

巴扎黑
Libérer: 2017-08-06 10:25:39
original
1956 Les gens l'ont consulté

Que sont MVC, MVP et MVVM ? MVC (Model-View-Controller) est l'une des architectures logicielles les plus courantes et est largement utilisée dans l'industrie. Il est facile à comprendre en soi, mais il n'est pas si facile d'expliquer en quoi il diffère des architectures dérivées MVP et MVVM.

1. MVC

Le modèle MVC signifie que le logiciel peut être divisé en trois parties.

Affichage : Interface utilisateur.

Contrôleur : logique métier

Modèle : stockage de données

La méthode de communication entre chaque partie est la suivante.

1. View envoie des instructions au contrôleur

2 Une fois que le contrôleur a terminé la logique métier, il demande au modèle de changer d'état

3. .Model will Les nouvelles données sont envoyées à la vue et l'utilisateur reçoit des commentaires

Toute communication est à sens unique.

2. Mode interactif

Lors de l'acceptation des instructions de l'utilisateur, MVC peut être divisé en deux méthodes. La première consiste à accepter les instructions via la vue et à les transmettre au contrôleur.

L'autre consiste à accepter les instructions directement via le contrôleur.

3. Exemple : Backbone

Les projets réels adoptent souvent une approche plus flexible, prenez Backbone.js comme exemple.

1. L'utilisateur peut envoyer des instructions (événements DOM) à la vue, puis la vue demande directement au modèle de changer d'état.

2. L'utilisateur peut également envoyer directement des instructions au contrôleur (la modification de l'URL déclenche l'événement hashChange), puis le contrôleur l'envoie à la vue.

3. Le contrôleur est très fin et ne joue qu'un rôle de routage, tandis que View est très épais et la logique métier est déployée dans View. Par conséquent, Backbone a simplement annulé le contrôleur et n’a conservé qu’un routeur.

4. MVP

Le mode MVP renomme Contrôleur en Présentateur et change la direction de la communication.

1. La communication entre les différentes parties est bidirectionnelle.

2. La vue et le modèle ne sont pas connectés et sont transmis via Presenter.

3. 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.

5. MVVM

Le mode MVVM renomme Presenter en ViewModel, qui est fondamentalement le même que le mode MVP.

La seule différence est qu'il utilise une liaison bidirectionnelle (liaison de données) : les modifications apportées à View sont automatiquement reflétées dans ViewModel, et vice versa. Angulaire et braise adoptent ce motif.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!