2010-07-10 9 views
3

J'ai développé des applications web pour quelques années avec ASP.NET Webforms et je l'aime encore, surtout à cause des possibilités RAD , il offre. Depuis deux ans, ASP.NET MVC est maintenant disponible en tant que concurrent direct de l'ASP.NET classique. D'une certaine façon, je ne veux pas jeter toutes mes expériences Webforms et passer à ASP.NET MVC. Une raison est, que je traite également du développement d'applications de bureau et ASP.NET Webforms est plus semblable à cela.ASP.NET MVP comme une symbiose de Web Forms ASP.NET et ASP.NET MVC

Maintenant, je découvre qu'il ya une troisième approche pour le développement ASP.NET: ASP.NET MVP: http://webformsmvp.com/

Est-ce que quelqu'un a déjà utilisé ce troisième type de ASP.NET?

Est-ce une approche officielle de Microsoft respectivement prise en charge par Microsoft?

Est-ce que ça vaut la peine d'y regarder de plus près? Est-ce une combinaison prometteuse des deux «mondes» d'ASP.NET?

Répondre

3

Ceci est évidemment une opinion subjective et cela dépend du problème particulier que vous résolvez. Si vous avez une application simple, qui ne nécessitera pas beaucoup de maintenance continue, et où il est important de démontrer des résultats rapides, je pense qu'il serait logique d'utiliser MVP pour exactement les raisons que vous mentionnez - tirer parti des compétences de l'équipe et RAD.

Pour quelque chose de plus complexe, je ne pense pas que ce soit une bonne idée. Comme vous l'avez mentionné, MVP est similaire aux modèles d'interface graphique de bureau; ASP.NET MVC est conçu pour la nature requête-réponse du Web. L'architecture de la vue, en particulier avec l'introduction de EditorFor et DisplayFor, est optimisée pour être utilisée comme un modèle qui extrait les données du modèle. Du point de vue de la testabilité, MVC fait un très bon travail en vous permettant de tester de petits composants unitairement. Je pense que vous perdriez beaucoup de ces avantages avec MVP car le point de vue et le présentateur sont plus étroitement couplés. En substance, MVC adopte le concept du modèle "Humble Dialog" qui cherche à minimiser le code d'interface utilisateur parce qu'il est intrinsèquement impossible à tester. (ASP.NET) MVC embrasse également le Web, produisant du HTML propre conçu pour être css style et augmenté avec javascript (jquery). Je pense que MVP vous encourage à traiter la vue comme une toile de "widgets", qui semble toujours finir par produire un balisage avec lequel vous devez vous battre. Enfin, je pense que chaque fois que vous utilisez une plate-forme conçue pour supporter une approche (MVC) et légèrement modifiée (MVP), vous finissez par nager en amont. Vous ne pouvez pas tirer parti des conseils, des articles et du développement technologique qui s'organisent naturellement autour de l'approche traditionnelle. Par exemple, personnellement, je préfère utiliser un autre moteur de vue avec MVC au lieu du moteur WebForms. Mais je n'ai pas fait ce mouvement parce que c'est non standard. Parfois "standard" bat mieux.