La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

2 LAN303 Ce quil ne fallait pas rater depuis.Net 2.0 Stéphanie Hertrich – Microsoft Florent Santin – Access It IDF.

Présentations similaires


Présentation au sujet: "2 LAN303 Ce quil ne fallait pas rater depuis.Net 2.0 Stéphanie Hertrich – Microsoft Florent Santin – Access It IDF."— Transcription de la présentation:

1

2 2 LAN303 Ce quil ne fallait pas rater depuis.Net 2.0 Stéphanie Hertrich – Microsoft Florent Santin – Access It IDF

3 3 Idée générale de la session Donner des outils aux développeurs en mode projet applicables sans changer de technologie applicative Gagner en productivité Liste totalement arbitraire (et non exhaustive) de sujets choisis par nous 1h cest peu !!

4 4 Déroulement de chaque sujet 1. Cas dapplication (Où et Quand) 2. Comment vous faites aujourdhui (Quoi) 3. Comment ça sutilise ? Démo (Comment) 4. Pourquoi cest mieux (Pourquoi)

5 5 Liste des sujets Code Méthodes anonymes, lambdas Les méthodes dextension Requêtage et accès aux données LINQ Entity Framework Injection de dépendances MEF (Managed Extensibility Framework) Parallélisme et asynchronisme TPL (Task Parallel Library) Async / Await Outils de Dev / ALM Le diagramme de couche (Explorateur darchitecture) LExtension Manager Maquettage dapplications SketchFlow

6 6 Les méthodes anonymes et expressions lambda Où et Quand ? Ecriture et utilisation de delegués Sur la gestion de mes évènements Comment je faisais avant: Création dune méthode qui correspond a la signature de lévénement Abonnement

7 7 Démo Méthodes anonymes et expressions lambda

8 8 Les méthodes anonymes et expressions lambda Pourquoi cest mieux: Simplification de lutilisation des délégués Moins de code Meilleure lisibilité Utilisation de variables dans la portée de la méthode appelante

9 9 Méthodes dextension Où et Quand: Je veux ajouter du comportement à une classe Foo ou une interface IFoo que: Je ne peux pas modifier car je nai pas les sources (ex : la classe String) Jai les sources, mais je ne veux pas sortir une nouvelle version de lassemblie (ex: appli. déjà installée chez les clients, problématique de versionnement)

10 10 Méthodes dExtension Comment je faisais avant ? Je créais une méthode statique qui prenait en paramètre une instance de Foo Je crée une nouvelle classe qui hérite de Foo (si pas sealed !) Je complète Foo si déclaré en partial Avec une méthode dextension ? Méthode statique dans une classe statique qui étend Foo/IFoo

11 11 Démo Méthodes dextension : -Etendre le type int -Etendre linterface IList

12 12 Méthodes dExtension Pourquoi cest mieux ? Intellisense sur Foo Permet de compléter une classe dont je nai pas les sources, quelle soit partial ou non, sealed ou non Fonctionne sur les interfaces Permet de se créer une bibliothèque perso qui étend les types système quon réutilise régulièrement dans les projets : Caisse à Outils

13 13 LINQ Où et Quand: Lorsque je manipule des collections de données au sens large (Objets, Base de données, XML…) Comment je faisais avant: 1 type de source de données = 1 syntaxe (SQL, XPath, Listes dobjets…)

14 14 LINQ Providers var q = from x in y where x > n select x var q = from x in y where x > n select x Objets SQL XML Entities … …

15 15 Démo LINQ

16 16 LINQ Pourquoi cest mieux : Langage de requêtage unifié 1 seule syntaxe pour requêter différentes sources Objets, SQL, Entity ou tout autre « provider » Filtrage des données à la source

17 17 Entity Framework Où et Quand ? Conception dune couche daccès aux données Mappeur Objet / Relationnel (ORM) Comment je faisais avant: Utilisation de provider daccès aux données Ecriture des requêtes SQL depuis.NET (mapping Objet / base de données)

18 18 Entity Framework Base de données Entitées A B C A B C Mapping

19 19 Entity Framework Base de données Entitées A B C A D C Mapping

20 20 Démo Entity Framework

21 21 Entity Framework Pourquoi cest mieux : Plus de SQL à écrire !!! Abstraction par rapport au provider de BD et par rapport au schéma de la base Basé sur LINQ Meilleur lisibilité / maintenabilité Meilleur productivité (intellisense) Modification du mapping possible sans recompilation Très bien intégré dans Visual Studio: clic, clic, clic

22 22 Managed Extensibility Framework : La théorie Quand ? Développement par composant (plug-in) Quand je veux pouvoir compléter mon application a posteriori sans la recompiler Comment je faisais avant ? Instanciation dynamique : Assembly.Load, CreateInstance, Activator,…

23 23 IRobot.dll AddOn2.dll AddOn.dll Robot.dll MEF : Compléter les actions dun robot IAction string Nom Action DoIt() MyRobot ReculerAvancer Tourner Serrer le main Faire le café

24 24 Démo MEF : compléter les actions possibles pour un robot

25 25 MEF Pourquoi cest mieux ? Mécanisme dInjection de dépendances Développement Orienté plug-in Couplage faible Détermine les classes à instancier manuellement, par configuration ou automatiquement Permet de compléter une application existante sans la recompiler, par simple apport de dll

26 26 Task Parallel Library Où Quand ? Exécuter du code en parallèle Pour répartir la charge sur plusieurs processeurs Pour libérer le thread du dispatcher : UI réactive Comme je faisais avant : Threads, synchronisation Avec la TPL : Mécanisme de gestion et de synchronisation de tâches

27 27 Démo TPL : Exécuter 3 tâches en //

28 28 TPL Pourquoi cest mieux ? On exploite au maximum les machines multi-cores Libère le thread de lUI : interface plus réactive Mécanisme de gestion et de synchronisation de tâches Extensions parallèles et synchrones avec PLinq, Parallel.ForEach, …

29 29 Diagramme de couche Où et Quand ? Comprendre rapidement une architecture Maintient dune architecture cohérente Comment je faisais avant ? Création de document darchitecture sur outils tiers Revue de code pour validation le bon respect Quoi et pourquoi ? Explorateur darchitecture: comprendre Diagramme de couche: garantir

30 30 Démo Analyse de larchitecture dune application

31 31 Diagramme de couche Pourquoi cest mieux : Complétement intégré dans Visual Studio 2010 Ultimate Validation en continue à la compilation et lors de lintégration continue

32 32 Extensions Manager Où et Quand ? Adapter lutilisation de lIDE à mes besoins Utilisation de modèles et composants tiers Comment je faisais avant ? Recherche sur forum / blogs pour trouver les meilleurs Addin Veille technologique pour les mises à jour de chacun Quoi et pourquoi ? Le gestionnaire dextensions de Visual Studio 2010 Trouver simplement les Addins pertinents Installation / mise à jour / suppression rapide daddins

33 33 Démo Visual Studio 2010 Productivity Tools

34 34 Snippets et Refactoring Où et Quand ? Tout au long du développement Lors décriture de code et le déclenchement daction répétitifs Comment je faisais avant: Ecriture manuelle Copier / coller Quoi et pourquoi ? Snippets: écrire rapide de code basée sur des modèles Refactoring: Réorganisation, renommage, extraction dinterface, extraction de méthodes… Gain en productivité considérable

35 35 Démo Ecriture accélérée Réorganisation de code

36 36 SketchFlow : Théorie 1/2 Quand : Maquettage pour validation avec le client (ou marketing) Comment je faisais avant : Je commence à coder lapplication en mode jetable pour avoir qq chose de montrable rapidement (mais je ne la jette jamais et ça devient la base de mon projet ) Je marrête aux diagrammes UML (use cases, diagrammes de séquence, dactivité) dans le meilleur des cas : pas parlant pour le client ou le marketing Jutilise Powerpoint, Paint, …

37 37 Démo SketchFlow (Blend 3, 4)

38 38 SketchFlow : Théorie 2/2 Pourquoi cest mieux ? Outil dédié au maquettage : résultat rapide, mock pour les jeux de données Pas de branding : le client se concentre sur le déroulement des écrans et laspect fonctionnel Annotations et Versionnement Interaction avec TFS et Sharepoint Pensé pour WPF, Silverlight mais pas que…

39 39 Récapitulatif SujetCatégorieA partir deUtilisation Méthodes anonymes, lambdas Code.Net 2.0.Net 3.0, Silverlight C# Les méthodes dextensionCode.Net 3.5 Silverlight C#, VB.Net LINQAccès aux données.Net 3.5 Silverlight C#, VB.Net Entity FrameworkAccès aux données.Net 3.5 SP1 Silverlight RIA C#, VB.Net MEFCode.Net 4, Silverlight 4 (3.5) C#, VB.Net TPLMulti-Tâche.Net 4 (3.5) Silverlight C#, VB.Net Le diagramme de couche (Explorateur darchitecture) ALMVStudio 2010 LExtension ManagerDiversVStudio 2010 SketchFlowMaquettageBlend 3Blend

40 40 Les liens utiles Entity Framework : MEF : TPL : Nos Blogs :

41 41 MSDN et TechNet : lessentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs

42


Télécharger ppt "2 LAN303 Ce quil ne fallait pas rater depuis.Net 2.0 Stéphanie Hertrich – Microsoft Florent Santin – Access It IDF."

Présentations similaires


Annonces Google