5
Aperçu d'ASP.NET MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog) Date de publication : mai 2009 Dernière mise à jour : En savoir plus sur les différences entre les applications ASP.NET MVC et les formulaires Web ASP.NET. Apprendre à décider de quand il est plus approprié de construire une application ASP.NET MVC.

Aspnet Mvc Overview

Embed Size (px)

DESCRIPTION

thank

Citation preview

  • Aperu d'ASP.NET MVC

    par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    Date de publication : mai 2009

    Dernire mise jour :

    En savoir plus sur les diffrences entre les applications ASP.NET MVC et les formulairesWeb ASP.NET. Apprendre dcider de quand il est plus appropri de construire uneapplication ASP.NET MVC.

  • Aperu d'ASP.NET MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 2 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes,documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/apercu-asp-net-overview/

    Traduction.....................................................................................................................................................................3Introduction...................................................................................................................................................................3Dcider quand crer une application MVC................................................................................................................. 4

    Avantages d'une application web base sur MVC................................................................................................ 4Avantages d'une application web base sur les formulaires Web........................................................................ 4

    Caractristiques du Framework ASP.NET MVC......................................................................................................... 5

  • Aperu d'ASP.NET MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 3 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes,documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/apercu-asp-net-overview/

    Traduction

    Cet article est la traduction la plus fidle possible de l'article original : ASP.NET MVC Overview

    Introduction

    Le patron d'architecture (architectural pattern) Modle-Vue-Contrleur (MVC) spare une application en troiscomposants principaux : le modle, la vue et le contrleur. Le Framework ASP.NET MVC fournit une alternative aumodle de formulaires Web ASP.NET, en permettant la cration d'applications web bases sur MVC.Le Framework ASP.NET MVC est un Framework de prsentation lger, facilement testable, qui (comme pour lesapplications utilisant les Formulaires Web) est intgr avec les fonctionnalits ASP.NET, dont les pages matres etles mcanismes d'authentification. Le Framework MVC est dfini dans l'espace de noms System.Web.Mvc et estun lment fondamental, de l'espace de noms System.Web.

    MVC est un schma de conception auquel de nombreux dveloppeurs sont habitus. Certains types d'applicationsWeb bnficieront du framework MVC. D'autres continueront d'utiliser le modle d'application ASP.NET bas sur lesformulaires Web et les postbacks. D'autres types d'applications Web combineront les deux approches, une approchen'excluant pas l'autre.

    Le Framework MVC comprend les lments suivants:

    * Modle : les modles sont les parties de l'application qui mettent en uvre la logique de l'application de donnesde domaine.Souvent, les objets du modle rcuprent et stockent l'tat des objets dans une base de donnes. Par exemple, unobjet Product peut rcuprer les informations d'une base de donnes, les exploiter, puis sauvegarder les informationsmises jour dans une table Products dans SQL Server.Dans de petites applications, le modle est souvent une sparation conceptuelle au lieu d'une sparation physique.Par exemple, si l'application ne fait que lire une srie de donnes et les envoyer la vue, l'application n'a pas besoind'avoir une couche modle physique et des classes associes. Dans ce cas, l'ensemble des donnes assume lerle d'un modle objet.

    * Vues : Les vues sont les lments qui affichent l'interface utilisateur (UI). Typiquement, cette interface utilisateurest cre partir du modle de donnes.Un exemple serait une vue d'dition d'un tableau de produits, affichant des zones de texte, des listes droulantes etdes cases cocher bases sur l'tat actuel d'un objet de type Product.

    * Contrleurs : Les contrleurs sont les composants qui grent l'interaction avec l'utilisateur, travaillent avec lemodle et, finalement, slectionnent la vue qui va permettre de faire un rendu de l'interface utilisateur.Dans une application MVC, la vue ne fait qu'afficher les informations que le contrleur gre et rpond aux entres etactions de l'utilisateur. Par exemple, le contrleur traite les valeurs de chane de requte et transmet ces valeurs aumodle qui, en retour, effectue les requtes sur la base de donnes en utilisant les valeurs.

  • Aperu d'ASP.NET MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 4 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes,documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/apercu-asp-net-overview/

    Le pattern MVC vous aide crer des applications qui sparent les diffrents aspects de l'application (traitementdes donnes, logique mtier et interface utilisateur), tout en fournissant un couplage lche entre ces lments. Letraitement des donnes fournies par l'utilisateur appartient au contrleur. La logique mtier appartient au modle.Cette sparation vous permet de grer la complexit lorsque vous construisez une application, car elle permet devous concentrer sur un aspect de la mise en uvre la fois. Par exemple, vous pouvez vous concentrer sur la vue,sans devoir dpendre de la logique mtier.

    En plus de grer la complexit, le modle MVC rends plus facile de tester les applications qu'il n'est facile de tester unsite bas sur les formulaires Web ASP.NET. Par exemple, dans un site Web base sur les formulaires Web ASP.NET,une classe unique est utilise la fois pour grer l'affichage et pour rpondre aux actions de l'utilisateur. Ecrire destests automatiss pour un site Web bas sur les formulaires ASP.NET peut tre complexes, parce que, pour unepage de test, vous devez instancier la classe de la page, l'ensemble de ses contrles enfants, et toutes les classesdont la page dpends dans l'application. Etant donn que de nombreuses classes sont instancies pour excuterla page, il peut tre difficile d'crire des tests qui se concentrent sur des parties individuelles de l'application. Testerun site bas sur les formulaires Web ASP.NET peut donc tre plus difficile que de tester une application MVC. Deplus, des tests ciblant un site bas sur les formulaires Web ASP.NET ncessitent un serveur Web. Le FrameworkMVC dissocie les lments et se base sur des interfaces, ce qui permet de tester les composants en isolation parrapport au reste du Framework.

    Le couplage lche entre les trois principales composantes d'une application MVC encourage aussi le dveloppementparallle. Par exemple, un dveloppeur peut travailler sur les vues, un autre dveloppeur peut travailler sur le codedu contrleur, et un troisime dveloppeur peut se concentrer sur la logique mtier dans le modle.

    Dcider quand crer une application MVC

    Vous devez examiner attentivement s'il y a lieu de mettre en oeuvre une application Web en utilisant le FrameworkMVC ou le modle des formulaires Web ASP.NET. Le Framework MVC ne remplace pas le modle de formulairesWeb, vous pouvez utiliser le Framework de votre choix pour vos applications Web. (Si vous avez des applicationsexistantes bases sur les formulaires Web, celles-ci continuent fonctionner exactement comme elles l'ont toujoursfait.)

    Avant de dcider d'utiliser le Framework MVC ou les formulaires Web pour un site Web spcifique, il faut peser lesavantages de chaque approche.

    Avantages d'une application web base sur MVC

    Le Framework ASP.NET MVC offre les avantages suivants :

    Elle rend plus facile grer la complexit en divisant l'application en un modle, une vue et un contrleur. Il n'utilise pas le viewstate, ou les contrles serveurs. Cela rend le Framework MVC idal pour les

    dveloppeurs qui veulent un contrle total sur le comportement de l'application. Il utilise un pattern Contrleur frontal (Front Controller), qui traite les requtes de l'application Web par

    l'intermdiaire d'un contrleur unique. Cela vous permet de concevoir une application qui prend en chargeune infrastructure de routage riche. Pour de plus amples renseignements, voir Contrleur frontal sur le siteWeb MSDN.

    Il offre un meilleur support pour le dveloppement dirig par les tests (TDD). Il fonctionne bien pour des applications Web dveloppes et soutenues par de grandes quipes de

    dveloppeurs et de designers, qui ont besoin d'un degr lev de contrle sur le comportement desapplications.

    Avantages d'une application web base sur les formulaires Web

    Les formulaires Web base offrent les avantages suivants :

  • Aperu d'ASP.NET MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 5 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes,documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/apercu-asp-net-overview/

    Ils fournissent un modle d'vnements, qui prserve l'tat entre deux requtes, ce qui permets d'acclrer ledveloppement d'applications Web d'entreprise. Les formulaires Web fournissent des dizaines d'vnementsqui sont pris en charge dans des centaines de contrles serveur.

    Ils utilisent un pattern contrleur de pages (Page Controller), qui ajoute des fonctionnalits aux pagesindividuelles. Pour de plus amples renseignements, voir le contrleur de pages sur le site Web MSDN.

    Ils utilisent le viewstate et des pages bases sur les contrles serveurs, ce qui peut rendre plus facile lagestion des informations.

    Ils fonctionnent bien pour de petites quipes de dveloppeurs et designers qui veulent profiter du grandnombre de composants disponibles pour dvelopper rapidement des applications.

    En gnral, ils sont moins complexes pour le dveloppement d'applications, car les composants (la page, lescontrles, etc) sont bien intgrs et ncessitent gnralement moins de code que le modle MVC.

    Caractristiques du Framework ASP.NET MVC

    Le Framework ASP.NET MVC fournit les fonctionnalits suivantes :

    Sparation des tches (traitement des donnes, logique mtier, la logique et l'interface utilisateur), testabilitet dveloppement dirig par les tests par dfaut. Tous les contrats de base dans le Framework MVC sontbass sur des interfaces et peuvent tre tests en utilisant des simulacres (Mock Objects), qui sont desobjets simuls, imitant le comportement des objets rels de l'application. Vous pouvez en tester de faonunitaire l'application sans avoir excuter les contrleurs dans un processus ASP.NET, ce qui rend les testsunitaires rapides et flexibles. Vous pouvez utiliser n'importe quel Framework de test compatible avec le .NETFramework.

    Un Framework extensible et enfichable. Les composants du Framework ASP.NET MVC sont conus de tellesorte qu'ils puissent facilement tre remplacs ou personnalis. Vous pouvez utiliser votre propre moteur devues, vos rgles de routage des URL, la srialisation des paramtres et d'autres composants. Le FrameworkASP.NET MVC permets galement l'utilisation de Frameworks d'injection de dpendance (DependencyInjection) et d'Inversion de contrle (Inversion Of Control). L'injection de dpendance permets d'injecter desobjets dans une classe, au lieu de compter sur la classe pour crer l'objet. L'inversion de contrles spcifieque si un objet requiert un autre objet, le premier objet devrait obtenir le deuxime objet partir d'une sourceextrieure, par exemple, un fichier de configuration. Cela rend les tests plus faciles.

    Un outil de mappage d'URL puissant, qui vous permet de crer des applications dont les URL sontcomprhensibles. Les URL n'ont pas inclure les extensions du nom de fichier, et sont destines soutenirdes modles de dsignation qui fonctionnent bien pour l'optimisation des moteurs de recherche (SEO) et pourl'adressage au format REST(representational state transfer).

    Support des balises existantes dans ASP.NET (fichiers .aspx), contrles utilisateur (fichiers .ascx) et pagesmatres (fichiers .master), en tant que modles de vues. Vous pouvez utiliser les fonctionnalits existantesd'ASP.NET avec le Framework ASP.NET MVC, telles que des pages matres imbriques, des expressions enligne (), les contrles serveur dclaratifs, les templates, le data-binding, la localisation, etc.

    Support des fonctionnalits existantes d'ASP.NET. ASP.NET MVC vous permet d'utiliser des dispositifstels que les formulaires d'authentification et l'authentification Windows, les autorisations sur les URL, lesfonctionnalits d'appartenance un groupe et de rle, le mcanisme de cache de donnes et de codeproduit, les session et la gestion du profil, la surveillance de la sant (health monitoring), le systme deconfiguration et l'architecture des fournisseurs.

    SynopsisSommaireTraductionIntroductionDcider quand crer une application MVCAvantages d'une application web base sur MVCAvantages d'une application web base sur les formulaires Web

    Caractristiques du Framework ASP.NET MVC