2009-10-21 7 views
12

J'ai récemment regardé this webcast, et j'ai eu le sentiment que beaucoup de choses «cool» d'ASP.NET MVC sont récupérées dans le framework ASP.NET.ASP.NET MVC vs ASP.NET 4.0

En ce moment, je prépare le terrain pour un projet dans ma société en utilisant ASP.NET MVC, mais après avoir regardé ça, je commence à me demander si c'est le bon choix, et si ça me convient attendre pour ASP.NET 4.0. Je réalise qu'ASP.NET MVC 2.0 se rapproche d'une version actuelle.

Si haute testabilité, couplage lâche, et ayant contrôle total de notre HTML sont des priorités, qui dois-je choisir, ASP.NET 4.0 ou ASP.NET MVC?

Répondre

23

Eh bien, votre question n'a pas vraiment de sens pour moi.

Vous demandez si vous souhaitez utiliser ASP.Net MVC ou ASP.Net 4.0 - voulez-vous dire WebForms? MVC 2.0 sera livré dans la boîte avec VS 2010 et en tant que tel .Net 4.0 ET ASP.Net 4.0 - également ASP.Net MVC fait partie de ASP.Net.

Si vous souhaitez utiliser le runtime .Net 4.0 et toutes les fonctionnalités de ASP.Net 4.0 - quel est le problème avec le faire avec MVC?De plus, je suggérerais maintenant de construire sur le MVC 1.0 et de structurer votre application de telle sorte que vous puissiez facilement migrer vers les nouvelles fonctionnalités de MVC 2.0 et les adopter, car vous savez déjà comment la plupart de ces fonctionnalités fonctionneront. Ne soyez pas trop un problème. Ou si votre version est après la sortie de ASP.Net MVC 2.0, commencez simplement à l'utiliser maintenant - à moins que cela ne pose d'autres problèmes.

+1

+1. J'aime la réponse. –

+1

+1 J'aime aussi – Feryt

+0

D'accord, c'est une bien meilleure réponse que la solution acceptée. – Andrew

7

Si votre application sera publiée après la date de sortie de mars, alors ce n'est pas un problème. Aller avec ASP.Net 4.0.

Si ce n'est pas le cas, alors ce n'est pas aussi clair. Ma société actuelle est confrontée au même problème. Allons-nous avec. Net 4.0 ou non. Pour nous, notre solution est hébergée en interne, donc nous n'avons pas le problème de libérer un produit sur une plate-forme inédite. Notre plus grande préoccupation est le passage de beta2 à RTM.

En tant que développeur, je veux toujours passer à la nouvelle plateforme. Une entreprise doit considérer ses clients et le risque de passer à une nouvelle plate-forme. La plupart du temps, la prudence est plus prudente que d'être le premier à sauter.

ASP.MVC 1.0 est supporté et libéré. C'est un excellent framework web. Si vous ne recherchez pas de fonctionnalités spécifiques dans ASP.MVC 2. Ensuite, utilisez ASP.NET MVC 1.

+0

Je suppose que c'est un doux euphémisme. Et puisque l'architecture est un peu lâche et très bien pensée, la sortie de l'interface utilisateur ne sera pas le plus gros problème. – CodeMonkey

+0

Même avec un contrôle HTML amélioré en 4.0, je pense que MVC a encore une plus grande testabilité (et le couplage loose [loose looser?] Vient avec ça). –

+1

N'en déplaise à Charles, mais comment cela a-t-il été marqué comme la bonne réponse? MVC et Webforms sont des approches complètement différentes pour résoudre un problème. Pour quelqu'un qui veut que le code écrit corresponde à l'environnement Web sans état, plutôt que de l'abstraire, MVC sera toujours une excellente solution. Pour quelqu'un qui veut que le web ressemble à la programmation des winforms, alors les webforms seront meilleurs. Si les deux convergent, Microsoft ne peut tirer pleinement parti des atouts de chaque produit. – Andrew

3

Choisissez la solution la plus économique. Nous avons toujours envie d'attendre la prochaine meilleure chose ... mais si nous l'avions fait, nous n'aurions jamais rien accompli.

6

Si vos critères comprennent ceci:

Nous visons haut testabilité, couplage lâche, et « HTML contrôlée » - pour moi que signifie ASP.NET MVC.

alors ASP.NET MVC est un must . Même avec ASP.NET 4.0, vous ne pouvez pas contourner le fait qu'ASP.NET est difficile à tester sans beaucoup de travail supplémentaire qui n'est pas là pour MVC. J'utilise ASP.NET dans mon travail de jour, mais la nuit, je suis ASP.NET MVC tout le chemin. ASP.NET 4.0 reste toujours sur l'héritage "Code-Behind" et le couplage View/Controller qui se poursuit avec les contrôles ASP.NET. Ce sont des choses qui rendent le test beaucoup plus difficile et qui sont étroitement liées par définition.

+0

Je pense que cela rend également plus difficile à comprendre. MVC est très facile à comprendre ... le cadre correspond à la façon dont le web fonctionne. Je suis tellement perdu avec le modèle de page et les hiérarchies de contrôle dans ASP.NET que MVC est juste rafraîchissant. – Andrew

1

Choisir un modèle de présentation pour un développement Web nouveau ou d'entreprise sur la plate-forme Microsoft est une tâche ardue, à mon avis il n'y en a que trois; Voir le modèle, MVP (Model-View-Presenter) ou ASP.NET MVC (dérivé de Model2).

Vous pouvez lire l'article complet ici ASP.NET MVC Patterns