52 votes

Dois-je migrer vers ASP.NET MVC?

Je viens d'écouter le StackOverflow équipe du 17ème podcast, et ils ont parlé de façon très de ASP.NET MVC que j'ai décidé de le vérifier.

Mais d'abord, je veux être sûr que ça en vaut la peine. J'ai déjà créé une base de l'application web (pour les autres développeurs de construire sur) pour un projet qui commence dans quelques jours et je voulais savoir, en fonction de votre expérience, si je dois prendre le temps d'apprendre les bases de la MVC et de re-créer la base de l'application web avec ce modèle.

Y a t il vraiment de grands pros, que ferait-il la peine?

EDIT: Ce n'est pas un projet existant, c'est un projet sur le point de commencer, donc si je vais le faire, il devrait être maintenant...


Je viens de trouver cette

Il n'est pas, cependant, d'utiliser les post-retour modèle pour les interactions sur le serveur. Au lieu de cela, vous aurez la route toutes les interactions de l'utilisateur à un Contrôleur de classe au lieu - qui permet de s'assurer de nettoyer la séparation des préoccupations et de la testabilité (cela signifie aussi pas de viewstate ou de la page du cycle de vie avec MVC vues).

Comment cela fonctionnerait-il? Pas d'état d'affichage? Pas d'événements?

65voto

Ben Scheirman Points 23590

Si vous êtes assez heureux avec les Formulaires web aujourd'hui, alors peut-être ASP.NET MVC n'est pas pour vous.

J'ai été frustré avec les Formulaires web pour un très long moment. Je suis certainement pas le seul ici. Les clients intelligents, stateful abstraction sur le web se décompose sévèrement dans des scénarios complexes. Je suis à l'amour de HTML, Javascript et CSS. WebForms essaie de le cacher de moi. Il a aussi quelques très complexe des solutions à des problèmes qui ne sont vraiment pas les plus complexes. Webforms est aussi intrinsèquement difficile à tester, et même si vous pouvez utiliser le MVP, c'est pas une bonne solution pour un environnement web...(par rapport à la MVC).

MVC fera appel à vous si... - vous voulez plus de contrôle sur votre HTML - voulez l'ajax d'expérience comme tous les autres plate-forme a - voulez-vous la capacité de test à travers et à travers - voulez-vous des URLs propres - La HAINE de traiter avec la publication & viewstate questions

Et comme pour le cadre de Prévisualisation 5, il est tout à fait stable, la conception est le plus souvent là, et la mise à niveau n'est pas difficile. J'ai commencé une application sur l'Aperçu 1 et avez mis à niveau à l'intérieur de quelques heures de la dernière preview disponible.

31voto

Rex M Points 80372

Il est important de garder à l'esprit que MVC et web forms ne sont pas en concurrence, et l'un n'est pas meilleur que l'autre. Ils sont tout simplement différents outils. La plupart des gens semblent l'approche MVC vs WebForms comme "l'un doit être un meilleur marteau que l'autre". Ce qui est mauvais. L'un est un marteau, l'autre est un tournevis. Les deux sont utilisés dans le processus de mettre ensemble des choses, mais ont des forces et des faiblesses.

Si l'on vous a laissé un mauvais goût dans la bouche, vous avez probablement été d'essayer d'utiliser un tournevis pour enfoncer le clou. Certains problèmes sont lourdes avec les Formulaires web qui deviennent simple et élégant avec MVC, et vice-versa.

11voto

FlySwat Points 61945

J'ai utilisé ASP.NET MVC (j'ai même écrit un HTTPModule qui vous permet de définir les parcours dans le web.config), et je reçois toujours un goût amer dans ma bouche.

Il semble comme un pas de géant en arrière dans l'organisation et la productivité. C'est peut-être pas pour certains, mais j'ai des webforms compris, et ils ne présentent aucun challenge pour moi que de loin, comme ce qui les rend plus facile à maintenir.

Que, et je ne cautionne pas l'actuel "TOUT ce" mode...

11voto

azamsharp Points 7107

ASP.NET MVC permet essentiellement de séparer la responsabilité des différentes sections du code. Ce vous permettre de tester votre application. Vous pouvez tester vos points de Vue, des Routes etc. Il fait aussi de la vitesse de l'application puisque maintenant il n'y a pas d'état d'affichage ou de Publication.

MAIS, il y a aussi des inconvénients. Depuis, vous n'êtes pas à l'aide de Formulaires web vous ne pouvez pas utiliser ASP.NET de contrôle. Cela signifie que si vous voulez créer un GridView vous allez être en cours d'exécution d'une boucle for et de créer la table manuellement. Si vous souhaitez utiliser la ASP.NET Assistant en MVC, puis vous aurez à créer sur votre propre.

C'est un beau cadre, si vous êtes malade et fatigué de ASP.NET webform et souhaitez effectuer tout sur votre propre. Mais vous devez garder à l'esprit que voudriez-vous bénéficier de la création de toutes les choses de nouveau ou pas?

En général je préfère les Webforms cadre en raison de la riche série de contrôles et automatique de la plomberie.

9voto

JamesSugrue Points 8426

Je voudrais créer un site d'essai d'abord, et de voir ce que l'équipe pense, mais pour moi, je ne voudrais pas revenir à WebForms après l'utilisation de MVC.

Certaines personnes n'aiment pas le code mélangé avec de l'HTML, et je peux le comprendre, mais je préfère de loin le plus de souplesse que les choses comme la Page de Cycle de vie, le rendu HTML et biggy pour moi - pas de viewstate trucs intégré dans le code source de la page.

Certaines personnes préfèrent MVC pour mieux testibility, mais personnellement la plupart de mon code est dans la couche du milieu et facilement testé de toute façon...

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