Vous êtes sur la page 1sur 8

ASP .

NET MVC : prsentation


Version 1.0

James RAVAILLE
http://blogs.dotnet-france.com/jamesr

ASP .NET MVC : prsentation

Sommaire

Introduction ..................................................................................................................................... 3 1.1 1.2 Prsentation ............................................................................................................................ 3 Pr-requis ................................................................................................................................ 3

Le modle MVC ............................................................................................................................... 4 2.1 2.2 2.3 2.4 Un peu dhistoire ..................................................................................................................... 4 Prsentation gnrale ............................................................................................................. 4 Prsentation dtaille ............................................................................................................. 5 MVC dans le Framework .NET ................................................................................................. 5

Pages Web VS Pages MVC ............................................................................................................... 6 3.1 3.2 3.3 Caractristiques des pages Web ............................................................................................. 6 Caractristiques des pages MVC ............................................................................................. 6 Fin des pages Web ? ................................................................................................................ 6

Conclusion ....................................................................................................................................... 8

Dotnet France Association James RAVAILLE

ASP .NET MVC : prsentation

Introduction

1.1 Prsentation
Dans ce cours, nous allons vous prsenter les concepts de base dASP .NET MVC, qui constitue une alternative pour la conception et le dveloppement de pages Web avec la technologie ASP .NET. Dun point de vue macroscopique, il permet de sparer la prsentation des donnes, la dfinition du modle de donnes et la gestion des demandes de lutilisateur. De ce fait, les applications ASP .NET MVC sont structures diffremment par rapport une application ASP.NET classique, tout comme les pages ASP .NET quelle contient. Nous prsenterons les lments constituants le modle MVC, ainsi que les diffrences entre ce modle de dveloppement et celui des Web Forms classiques que nous utilisions jusqu maintenant avec la technologie ASP .NET.

1.2 Pr-requis
Avant de lire ce cours, nous vous conseillons de matriser la conception et le dveloppement dapplications Web avec la technologie ASP .NET.

Dotnet France Association James RAVAILLE

ASP .NET MVC : prsentation

2 Le modle MVC
2.1 Un peu dhistoire
Le modle MVC (Modle Vue Contrleur) a fait son apparition en 1978. Un an plus tard, Trygve Reenskaug le prsente dans un projet Smalltalk en les termes suivants : Le but principal est de combler lcart entre la reprsentation humaine du modle et le modle digital dans lordinateur . Il tablit le diagramme suivant :

Contrleur
1

* * *

Modle

Vue

Lutilisateur ne voit quune vue, qui fait appel un contrleur (lui-mme pouvant tre utilise par plusieurs vues), lui-mme faisant appel au modle pour raliser des traitements de donnes. Le rsultat de ces traitements sera rcupr par la vue qui les affichera.

2.2 Prsentation gnrale


Le modle MVC permet de crer une application permet de sparer les diffrentes parties constituant une application : La prsentation des donnes et les interactions entre lapplication et les utilisateurs. Le modle mtier, dfinissant les donnes manipules par lapplication, et les traitements mtiers. Linteraction entre les lments de prsentation de donnes et le modle mtier.

Cette sparation permet de coupler faiblement chacune de ces parties entre elles. Elle permet : De faciliter le dveloppement de lapplication, afin de rpartir des tches de conception et de dveloppement de lapplication entre les diffrentes personnes dune quipe de dveloppement. De bien structurer lapplication, afin de faciliter son dveloppement, ainsi que sa maintenance. De faciliter les tests de lapplication, afin de mieux raliser les tests unitaires, fonctionnels et de non-rgression.

Dotnet France Association James RAVAILLE

ASP .NET MVC : prsentation

2.3 Prsentation dtaille


Le modle MVC est constitu des lments suivants : Le Modle : reprsente la couche mtier dune application, prsentant des classes permettant de crer les objets contenant des donnes mtier manipules par lapplication au travers de traitements, constituant les services mtiers. La Vue : elle constitue les lments dinterface utilisateurs : pages web, contrles Web Le Contrleur : permettant de piloter lapplication, il interprte les actions raliser et ordonne leur excution (lecture, traitement de donnes et mises jour). Les relations entre ces trois lments sont les suivantes :

Requte HTTP

Contrleur
Rponse HTTP Slectionne la vue Demande lecture/ traitement de donnes

Fournit les donnes

Vue

Modle

2.4 MVC dans le Framework .NET


Pour mettre en uvre le modle MVC, Microsoft a ajout un nouvel espace de noms dans le Framework .NET, nomm System.Web.Mvc. Il contient toutes les classes et interfaces permettant de mettre en uvre le modle MVC : classes de base pour les contrleurs, classes pour les vues, classes dsignant les actions, permettant de crer des liaisons de donnes entre la vue et le modle On trouvera aussi lespace de noms System.Web.Mvc.Ajax, permettant de mettre en uvre des mcanismes Ajax dans les pages ASP .NET MVC.

Dotnet France Association James RAVAILLE

ASP .NET MVC : prsentation

3 Pages Web VS Pages MVC


La structure des applications ASP .NET classiques et les applications ASP .NET MVC sont radicalement diffrentes, tout en ayant le mme but : construire des applications Web.

3.1 Caractristiques des pages Web


Les caractristiques des pages Web sont les suivantes : Elles proposent un modle vnementiel, avec prise en charge de ltat daffichage des contrles entre lexcution de deux requtes HTTP via le ViewState (champ cach et crypt permettant de reporter dans la rponse HTTP les donnes provenant de la requte). Lors de lexcution du cycle de vie de la page (o un vnement correspond une tape), le rendu de la page est obtenu et renvoy au client Web ayant demand son excution. Elles utilisent le modle Page Controller, permettant la sparation entre la prsentation (XHTML / CSS / JavaScript) de la page et sa logique dexcution (langage .NET). En effet, toute page ASPX est associe une classe dite darrire plan (code-behind) contenant ce qui pourrait sapparenter de manire grossire au contrleur de la page. Permettent de dvelopper des applications avec un faible effort de dveloppement, grce un dveloppement orient composant . En effet, des tches peuvent tre ralises trs simplement en ajoutant des composants dans des pages, puis en les paramtrant au travers de la fentre de proprits ou des assistants.

3.2 Caractristiques des pages MVC


Les caractristiques des pages Web sont les suivantes : Elles permettent de structurer davantage lapplication. Elles nutilisent pas le ViewState. Elles utilisent un modle nomm Front Controller, qui permet de traiter les requtes de l'application Web par l'intermdiaire du routage et d'un contrleur. Elles offrent un meilleur support pour le dveloppement dirig par les tests (Test Driven Development). Lors de la cration dun projet de type SP .NET MVC, Microsoft propose de crer un projet de test, qui permettra de tester au fur et mesure du dveloppement de lapplication ASP .NET MVC.

3.3 Fin des pages Web ?


Le modle MVC est un modle de dveloppement qui a fait ses preuves dans dautres technologies de dveloppement dapplications Web telles que la technologie J2EE. Quand aux Web Forms ASP .NET telles que nous les concevons depuis nos premiers pas avec la technologies ASP .NET en 2002, la vue (page ASPX) manque de souplesse dans le sens o elle doit souvent contenir trop de traitements ne facilitant pas le dcoupage en couche de lapplication. Le modle MVC permet dagir sur la conception et le dveloppement de lapplication en assurant un dcoupage en couche. Mais sa contrepartie rside dans un dveloppement plus coteux en temps. Le choix entre les pages Web et les pages MVC se fera en fonction de lvaluation des critres suivants : nombre de pages Web dans le projet, exigence en matire darchitecture (la prsence dun Dotnet France Association James RAVAILLE

ASP .NET MVC : prsentation architecte tant souhaite), connaissances des dveloppeurs en matire darchitecture, temps allou pour dvelopper le projet

Dotnet France Association James RAVAILLE

ASP .NET MVC : prsentation

4 Conclusion
Ce cours vous a prsent le modle MVC et ses caractristiques, ainsi que les diffrences entre les pages ASP .NET classiques et les pages ASP .NET MVC. Avant daller plus loin dans la mise en uvre du modle MVC via les cours publis sur Dotnet-France, il est essentiel de bien comprendre le rle des trois acteurs qui le composent : le modle, la vue, le contrleur. Cest pourquoi, nous vous conseillons de relire ce cours dans le cas o ces lments et leurs interactions ne sont pas pleinement compris.

Dotnet France Association James RAVAILLE