Question

Je lis au sujet du modèle de MVP ASP.net au cours de ce week-end et il semble que même la tâche la plus simple demande trop de travail si vous la faites dans le modèle de MVP, le gain semble être plus important, mais je me dis que si Je vais suivre MVP. Pourquoi ne pas simplement faire le projet dans ASP.net MVC?

La raison pour laquelle je regarde le modèle MVP est parce que j'ai remarqué que dans tous mes projets ASP.net Webform, il y avait beaucoup de code dans le code derrière juste pour la gestion des événements, si j'avais beaucoup de contrôle de serveur. sur le formulaire Web, je cherchais donc le moyen de réduire cela et de découvrir le modèle de MVP.

Vaut-il la peine de suivre le modèle MVP ou de basculer simplement vers ASP.net MVC?

Était-ce utile?

La solution

Si vous démarrez un nouveau projet, ASP.net MVC est un meilleur choix. Mais si vous souhaitez simplement refactoriser un projet existant comme vous venez de le dire, MVP est l'option car il n'existe pas de moyen facile de convertir ces codes de formulaires Web en MVC.

Autres conseils

Je vous recommanderais de lire les deux liens suivants pour vous familiariser avec MVP et MVC:

Devriez-vous basculer?
D'après ce que vous m'avez dit, je vous recommanderais d'utiliser le modèle MVP passif mentionné dans l'article ci-dessus.

Mes principales hypothèses sont les suivantes:

  1. Votre gestion d'une base de code d'applications WebForms existante
  2. Vous devez utiliser les contrôles ThirdParty .Net pour les fonctionnalités existantes
  3. Votre travail sur les applications existantes et n'avez pas le temps de les réarchiver
  4. Toutes les applications Web ASP.Net sur lesquelles vous travaillez à l'avenir, vous pouvez appliquer de manière incrémentielle le MVP passif et bénéficier immédiatement des avantages de TDD

Votre vue (codebehind + aspx) devient essentiellement muette et effectue simplement des tâches simples:

  • prendre des informations données par le présentateur
  • répond aux événements et fournit des informations au présentateur

J'ai beaucoup utilisé ce modèle pour le développement de Web Forms et je ne pouvais pas imaginer ne pas pouvoir tester un peu mon code de modèle et de présentateur. Une fois que vous avez établi votre modèle de base qui ne prend pas beaucoup de temps et que vous avez perçu la puissance du test unitaire, travailler avec Web Forms devient un plaisir.

Certains liens vers des éléments MVP sur lesquels le modèle que j'ai utilisé sont basés:

Je vous recommanderais également d'apprendre MVC.
Lorsque le temps le permet, prenez une application existante et portez-la sur MVC. De cette façon, votre seul objectif est de connaître MVC et lorsque vous insérez la logique dans le modèle MVC, vous découvrez des éléments que vous avez implémentés dans WebForms et auxquels vous n'avez jamais vraiment réfléchi, mais que vous devez maintenant résoudre d'une autre manière. Excellente façon de comparer les modèles et de voir ce qui vous convient.

J'espère que cela vous aidera, n'hésitez pas à poser des questions.

À mon avis, le meilleur moyen d’utiliser de nouvelles applications est MVC. Toutefois, si beaucoup de code utilise déjà WebForms, le modèle MVP est la solution.

Je choisirais Asp.Net MVC s'il s'agit d'un nouveau projet, mais je suis d'accord, MVP pourrait constituer un bon modèle pour les projets de formulaires Web hérités.

Voici un exemple tiré de mon blog: http: // www .unit-testing.net / CurrentArticle / Comment utiliser le modèle Voir le présentateur avec AspNet-WebForms.html

Mon opinion personnelle est que s'il y a beaucoup de code dans le code, il y a encore d'autres moyens que d'adopter M-V-P afin de l'amincir, de le refactoriser et de le rendre testable.

si votre page a une interaction étendue de l'utilisateur (comme les boutons / liens activant / désactivant, les panneaux et contrôles apparaissant / disparaissant), M-V-P vaudrait la peine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top