Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Azra [Florent Santin]

.Net, X'Net, aucun lien de parenté V2.0

Actualités


  • MSN Alerts
    View Florent Santin's profile on LinkedIn
[Teched 2007] ASP.NET Model View Controller (MVC)

Matt Gibbs - ASP.NET Development Manager

Sans hésitation la session la plus attendue de la journée de mon coté depuis la récente annonce il y'a trois semaines de Scott Guthrie sur l'apparition d’un Framework MVC pour ASP.NET (salle d'ailleur pleine).

Rappel sur la roadmap ASP.NET: ASP.NET AJAX 1.0 => .NET Framework 3.5 (ASP.NET 2.0 + features) => nouveau .NET Framework annoncé au milieu de l'année prochaine

MVC en général: Maintient une séparation propre des différentes couches applicatives

- Facilement testable en TDD (la couche graphique est réduite à l'affichage de l'HTML)
- Facile a maintenir
- Les vues ne contiennent pas de logique métier
- Les vues n'ont pas la connaissance des couches inférieures

ASP.NET MVS Framework:

Intégré avec ASP.NET:
- Utilisation possible des fonctionnalités standards tels que le cache, la session, le profile..
- Support des langages statiques standards mais aussi des dynamiques

Ajout d'outils:

- Intellisense, refactoring, debug
- Modèles de projets
- Les view .aspx concernant le mode design de Visual Studio

ASP.NET MVC Framework n'est pas WebForms 4.0, c'est battit sur ASP.NET 2.0 et fonctionne bien avec des frameworks existants tels que NHibernate, Castle ou Brail.

Cycle de fonctionnement:

- Le serveur Web récupère la requête du navigateur
- Elle est redirigé vers le contrôleur
- Celui ci est activé
- Les actions du contrôleur sont appelées
- Le contrôleur travaille avec le modèle et la saisie utilisateur
- Le contrôleur génère une vue
- L'url de sortie pointe vers le contrôleur

Request => Route => controller => ViewFactory => View => Response

Comment cela marche: Les requête HTTP sont redirigées sur le contrôleur, et plus sur la page .aspx, le contrôleurs est ensuite chargé de sélectionner la vue (la page) à afficher.

Un des gros avantages de l'utilisation de MVC est que cela simplifie la phase de test de l'application: beaucoup d'éléments sont remplaçables par des mocks: IHttpContet, IHttpResponse, IHttRequest. Il n'est pas cependant nécessaire d'utiliser ceux-ci pour remplacer tout ASP.NET: La factory de génération de page seule est facilement utilisable.

Une session très intéressante pour un sujet qui mérite d'être plus creusé (je n'ai pas été convaincu personnellement, donc il va falloir essayer de mettre en place tout ça rapidement)

Pour aller plus loin:

- Blog de Scott Guthrie: http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx

Posted: dimanche 11 novembre 2007 14:48 par azra
Classé sous :
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

davestar a dit :

Très interressant tout ça,

le lient vers le blog de Scott ne fonctionne pas :(

# novembre 11, 2007 17:03

azra a dit :

Edité, merci :)

# novembre 11, 2007 17:13

cyril a dit :

J'arrive pas non plus à trouver le fonctionnement précis de framework ... Le peu que j'ai vu ne me convainc pas non plus :

Plus de postback / plus de viewstate  ==> Plus d'évenements, les contrôles seront donc que pour l'affichage ... les contrôles natifs ne sont pas super pratique au niveau de l'affichage ==> plus de contrôles ? ou alors le framework MVC arrivera avec un nouveau set de contrôle qui remplacera les postback par une url, du coup le "grand public" ne comprendront plus le fonctionnement d'asp.net (quand on voit comment certains développeurs comprennent le cycle de vie ASP.net ... on va encore prendre peur) beaucoup de développement sera alors encore plus sale car ils vont mélangé postback et MVC à cause d'incompréhension.

Ce projet est vraiment interessant, ca va permettre d'utiliser vraiment asp.net pour faire des applis web (les postback sont pas crawlable donc inutile) mais j'ai hate de voir l'implémentation du schmilblik et surtout la communication de Ms vis à vis de ce nouveau framework.

Dès que t'as les slides de la session, tu me tiens au courant ? ;-)

# novembre 11, 2007 18:11

azra a dit :

Le postionnement par rapport a AJAX reste très flou en plus Cyril, voir aujourd'hui même pas supporté il me semble.

Donc effectivement, wait and see :)

# novembre 11, 2007 22:58

VANNESTE Xavier a dit :

En MVC, le model sait ou vous êtes, d'ou vous venez et ou vous devez aller. Il n'a plus besoin de session, postback ou viewstate car toutes la connaissance de l'etat de l'application est dans le model. Il passe les information au controlleur qui lui construit la vue. Un exemple le model sait que vous etes autentifie, il le passe au controlleur qui construit la vue adequat a votre profil. C'est le controlleur aussi qui gere les evenements. Ce qui est bisard c'est que d'habitude microsoft utilise un pattern MVP (Model vue presenter) qui est un MVC++. Ils auraient du le mettre en place ici. En tout cas j'aspire que ce framework sorte, ca va structurer les developpement et centralise le code dans le Model et le controlleur plutot que de le dispatcher dans une centaine de pages.

# novembre 12, 2007 09:41
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57

- [ #Office365 ] How to change Administration console language ? / Comment changer la langue de la console d’administration ? par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 08:25

- [ #SharePoint 2013 ] Suppression de bases de données en état “Pas de Réponse” par Le blog de Patrick [MVP SharePoint] le 09-04-2014, 14:10

- Changer l’adresse d’une ferme Office Web Apps associée à SharePoint par Blog de Jérémy Jeanson le 09-01-2014, 22:21

- Une ferme #SharePoint 2013 dans @Azure en quelques clics (1ère partie) ! par Le blog de Patrick [MVP SharePoint] le 08-28-2014, 18:52

- SharePoint 2013: Préparation de la migration - Création des site Templates dans 2010 et 2013 par Blog Technique de Romelard Fabrice le 08-20-2014, 16:31

- [ #Yammer ] How to change interface language ? Comment changer la langue de l’interface ? par Le blog de Patrick [MVP SharePoint] le 08-20-2014, 14:21