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

Date.

Présentations similaires


Présentation au sujet: "Date."— Transcription de la présentation:

1 date

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

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 c’est peu !! date

4 Déroulement de chaque sujet
Cas d’application (Où et Quand) Comment vous faites aujourd’hui (Quoi) Comment ça s’utilise ? Démo (Comment) Pourquoi c’est mieux (Pourquoi) date

5 Liste des sujets Code Méthodes anonymes, lambdas
Les méthodes d’extension 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 d’architecture) L’Extension Manager Maquettage d’applications SketchFlow date

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 d’une méthode qui correspond a la signature de l’événement Abonnement

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

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

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

10 Méthodes d’Extension 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 d’extension ? Méthode statique dans une classe statique qui étend Foo/IFoo

11 Démo Méthodes d’extension : Etendre le type int
Etendre l’interface IList<T>

12 Méthodes d’Extension Pourquoi c’est mieux ? Intellisense sur Foo
Permet de compléter une classe dont je n’ai pas les sources, qu’elle 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 qu’on réutilise régulièrement dans les projets : Caisse à Outils date

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 d’objets…)

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

15 Démo LINQ

16 LINQ Pourquoi c’est 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 Entity Framework Où et Quand ?
Conception d’une couche d’accès aux données Mappeur Objet / Relationnel (ORM) Comment je faisais avant: Utilisation de provider d’accès aux données Ecriture des requêtes SQL depuis .NET (mapping Objet / base de données) date

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

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

20 Démo Entity Framework

21 Entity Framework Pourquoi c’est 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  date

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,… date

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

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

25 MEF Pourquoi c’est mieux ? Mécanisme d’Injection 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 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 date

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

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

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

30 Analyse de l’architecture d’une application
Démo Analyse de l’architecture d’une application

31 Diagramme de couche Pourquoi c’est mieux : Complétement intégré dans
Visual Studio 2010 Ultimate Validation en continue à la compilation et lors de l’intégration continue date

32 Extensions Manager Où et Quand ?
Adapter l’utilisation de l’IDE à 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 d’extensions de Visual Studio 2010 Trouver simplement les Addins pertinents Installation / mise à jour / suppression rapide d’addins date

33 Visual Studio 2010 Productivity Tools
Démo Visual Studio 2010 Productivity Tools

34 Snippets et Refactoring
Où et Quand ? Tout au long du développement Lors d’écriture de code et le déclenchement d’action 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 d’interface, extraction de méthodes… Gain en productivité considérable

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

36 SketchFlow : Théorie 1/2 Quand : Maquettage pour validation avec le client (ou marketing) Comment je faisais avant : Je commence à coder l’application 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 m’arrête aux diagrammes UML (use cases, diagrammes de séquence, d’activité) dans le meilleur des cas : pas parlant pour le client ou le marketing J’utilise Powerpoint, Paint, …

37 Démo SketchFlow (Blend 3, 4)

38 SketchFlow : Théorie 2/2 Pourquoi c’est 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 l’aspect fonctionnel Annotations et Versionnement Interaction avec TFS et Sharepoint Pensé pour WPF, Silverlight mais pas que…

39 Récapitulatif Sujet Catégorie A partir de Utilisation
Méthodes anonymes, lambdas Code .Net 2.0 .Net 3.0, Silverlight C# Les méthodes d’extension .Net 3.5 Silverlight C#, VB.Net LINQ Accès aux données Entity Framework .Net 3.5 SP1 Silverlight RIA MEF .Net 4, Silverlight 4 (3.5) TPL Multi-Tâche .Net 4 (3.5) Le diagramme de couche (Explorateur d’architecture) ALM VStudio 2010 L’Extension Manager Divers SketchFlow Maquettage Blend 3 Blend

40 Les liens utiles Entity Framework : http://bit.ly/dWiKro
MEF : TPL : Nos Blogs :

41 MSDN et TechNet : l’essentiel 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 "Date."

Présentations similaires


Annonces Google