Que signifie MVW?

351

Voici la description du contenu de la page AngularJS:

AngularJS est ce qu'aurait été le HTML s'il avait été conçu pour créer des applications Web. Modèles déclaratifs avec liaison de données, MVW, MVVM, MVC, injection de dépendances et grande histoire de testabilité tous implémentés avec du JavaScript pur côté client!

Alors, que signifie MVW? (Compte tenu de la querelle MVC, MVVW, MVP etc., je suppose que "quoi que ce soit", Model-View-Wwhat = P)

slacktracer
la source
Je pense que vous avez raison avec Model-View-Whats! code.google.com/p/dark-matter-data/wiki/MVWOverview
John

Réponses:

447

Il représente en effet tout ce qui fonctionne pour vous

MVC vs MVVM vs MVP. Quel sujet controversé sur lequel de nombreux développeurs peuvent passer des heures et des heures à débattre et à discuter.

Pendant plusieurs années + AngularJS était plus proche de MVC (ou plutôt de l'une de ses variantes côté client), mais au fil du temps et grâce à de nombreux refactorings et améliorations de l'API, il est maintenant plus proche de MVVM - l'objet $ scope pourrait être considéré comme le ViewModel qui est étant décoré par une fonction que nous appelons un contrôleur.

La possibilité de catégoriser un framework et de le placer dans l'un des compartiments MV * présente certains avantages. Il peut aider les développeurs à se familiariser avec ses API en facilitant la création d'un modèle mental qui représente l'application en cours de construction avec le framework. Cela peut également aider à établir une terminologie utilisée par les développeurs.

Cela dit, je préfère voir les développeurs créer des applications géniales qui sont bien conçues et suivre la séparation des préoccupations, plutôt que de les voir perdre du temps à se disputer à propos des absurdités MV *. Et pour cette raison, je déclare par la présente AngularJS comme framework MVW - Model-View-Wwhat. Où que signifie «tout ce qui fonctionne pour vous» .

Angular vous offre une grande flexibilité pour bien séparer la logique de présentation de la logique métier et de l'état de présentation. Veuillez l'utiliser pour alimenter votre productivité et la maintenabilité de vos applications plutôt que des discussions animées sur des choses qui, en fin de compte, importent peu.

Christian.K
la source
8
@ FrançoisWahl: Je me suis dit la même chose pas cinq secondes avant de lire votre commentaire. MV * aurait probablement été plus immédiatement évident pour la grande majorité des développeurs de logiciels qui sont probablement déjà familiers avec la convention générique '*' omniprésente.
David Frye
2
Vous ne pouvez pas Google MV *. Aussi… "Peu importe" exprime la frustration que beaucoup de gens ressentent lorsqu'ils discutent de la sémantique de MVx
Clintm
22

Cela dit, je préfère voir les développeurs créer des applications géniales qui sont bien conçues et suivre la séparation des préoccupations, plutôt que de les voir perdre du temps à se disputer à propos des absurdités MV *. Et pour cette raison, je déclare par la présente AngularJS comme framework MVW - Model-View-Wwhat. Où que signifie «tout ce qui fonctionne pour vous».

Crédits: AngularJS Post - Igor Minar

Adrian Enriquez
la source
1

Je pense que MWV (Model View Wwhat) ou MV * est un terme plus flexible pour décrire une partie du caractère unique d'Angularjs à mon avis. Cela m'a aidé à comprendre que c'est plus qu'un framework JavaScript MVC (Model View Controller), mais il utilise toujours MVC car il a une vue de modèle et un contrôleur.

Il peut également être considéré comme un modèle MVP (Model View Presenter). Je pense à un présentateur comme à la logique métier de l'interface utilisateur dans Angularjs for the View. Par exemple, en utilisant des filtres qui peuvent formater les données à afficher. Ce n'est pas une logique métier, mais une logique d'affichage et cela me rappelle le modèle MVP que j'ai utilisé dans GWT.

En outre, il peut également s'agir d'un MVVM (Model View View Model), la pièce View Model étant la liaison bidirectionnelle entre les deux. Enfin, c'est MVW car il a d'autres modèles que vous pouvez utiliser ainsi que mentionnés par @Steve Chambers.

Je suis d'accord avec les autres réponses selon lesquelles devenir pédant sur ces termes peut être préjudiciable, car il s'agit de comprendre les concepts à partir des termes, mais du même coup, une compréhension complète des termes aide à concevoir son code d'application, sachant ce que va où et pourquoi.

James Drinkard
la source