38 votes

Quoi utiliser? MVC, MVP ou MVVM ou…?

Je vais commencer un projet Java pour développer une application de bureau. Que faut-il utiliser comme modèle de couche de présentation (MVC, MVP, MVVM ou ....)?

... si c'est possible, avec quelques petits exemples de travail ... :-)

56voto

Pascal Thivent Points 295221

En fait, l'ultime poste que vous recherchez est cette réponse de Karsten Lentzsch (de JGoodies de la gloire) dans le Swing de Cadres et de Meilleures Pratiques de fil. Si vous ne savez pas Karsten et JGoodies, alors croyez-moi, ce gars sait vraiment de quoi il parle. Je vous le recommande chaudement de lire attentivement sa réponse et le matériel qu'il a posté en tant que référence. Plus précisément, assurez-vous de vérifier son Bureau de Motifs et de Liaison de Données de présentation. Étonnamment, je préfère l' ancienne version à la nouvelle.

Permettez-moi de citer son de diapositives sur MVC vs MVP:

  • Oui, Swing utilise une étendue formulaire de MVC interne
  • Mais MVC pour les composants, MVP est que pour les applications

Et puis le Résumé:

Mais je ne peux pas faire mieux que Karsten d'expliquer cela, je peux au mieux paraphraser lui. Lisez simplement de lui!

Aussi peut-être avoir un coup d'oeil au Bureau de Java démos pour l'apprentissage (plus précisément Scott Violet réponse).

3voto

simbo1905 Points 911

Voici un article qui compare les trois GUI patterns en Java utilisé pour mettre en œuvre le même écran trois fois:

La mise en œuvre de event-driven GUI motifs à l'aide de la ZK Java, AJAX, Simon Massey, Sachin K Mahajan

Depuis les différents cadres et langues ont de légères variations sur ce que les gens se sentent est MVP, MVC, MVVM et MVVMP etc etc l'article est prudent de se référer aux motifs que par la longueur des noms donnés par Martin Fowler pas le court de la main M__ monikers qui sont faciles à argumenter.

Clairement ZK est un site web mobile ou un ordinateur de bureau comme environnement de programmation, mais les modèles sont également applicables à la Balançoire ou une autre graisse cadre du client. Cependant, sans une bonne liaison de données-cadre pour un certain environnement de bureau, il n'est pas très faisable pour tenter de MVVM. Donc, en ce début de la présentation "Modèle de Présentation" modèle est donné le nom "MVB" pour le Modèle-Vue-Classeur comme une alternative à l'appeler "MVVM":

Les Modèles de conception dans ZK: Java MVVM comme Modèle-Vue-Classeur, Simon Massey

2voto

Tom Yeh Points 956

Vous pouvez jeter un oeil à cet article: Hello ZK MVVM . ZK prend en charge à la fois MVP et MVVM. Cet article peut vous aider à mieux comprendre votre choix: le modèle de programmation est similaire à Swing, car il s’agit d’un framework Web.

0voto

Carlos Tasada Points 3629

Je vous recommanderais également d'utiliser Google pour trouver plus d'informations car votre question est vraiment vague. Quoi qu'il en soit, puisque vous souhaitez utiliser votre application de bureau en Java et que vous utiliserez probablement Swing, je tiens simplement à souligner que Swing a été conçu avec un motif MVC. Quoi qu'il en soit, vous pouvez facilement le modifier en MVP à l'aide d'interfaces supplémentaires.

Si vous n'êtes pas sûr du motif, je vous recommanderais d'utiliser le MVC. Vous trouverez beaucoup plus d'exemples.

Mes 2 centimes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X