22 Romain VERDIER Architecte FastConnect Yann SCHWARTZ Architecte/plombier Polom
33 Pourquoi l’AOP ? Concepts Techniques Démos
44 Pourquoi l’AOP ?
55 Code machine Programmation structurée Programmation procédurale Programmation modulaire Orienté Objet
66 Separation of Concerns (SoC) Single Responsability Principle (SRP)
77 Cross Cutting Concerns Sécurité Logging Caching Globalization Exceptions Assertions LoadBalancing Transactions Pooling Persistance Remoting Profiling Synchronisation Validation
88 Code métier Transactions Logging Méthode
99 Concepts
10 Aspect Oriented Programming Programmation Orientée « Aspects »
11 Permet l’isolation des Cross Cutting Concerns, ces aspects transverses qu’il est impossible de factoriser convenablement grâce à l’orienté objet
12 En mettant la notion d’aspect transverse au premier plan, et en offrant un complément à l’Orienté objet
13 Quoi ? Où ? Quand ? Aspect = Advice(s) + Pointcut(s)
14 Advice (Greffon) Quoi. Pièce de code constituant tout ou une partie de la logique de l’aspect
15 Pointcut (Point d’action) Point de branchement, endroit du programme où placer un greffon. Où (et Quand)
17 Identifier le cross cutting concern
18 Ecrire l’advice
19 Choisir les points d’action
20 Code métier Transactions Aspects Logging Tisseur OOP + AOP Pointcuts
21 Tissage (Weaving) : Insertion des greffons dans le programme à instrumenter, aux points d’action définis
22 Techniques
23 Décrire les aspects : greffons et points d’action. Langage, surcouche au langage Attributs, métadonnées Fichiers tiers (XML, DSL, etc.) API classique, code
24 2,5 types de tissage Tissage dynamique A l’exécution, interception Tissage statique A la compilation (Tissage hybride) Compilation + exécution
25 Démos
26 Démo Des exemples
27 Démo Tissage statique - PostSharp
28 Questions ?
29 PostSharp Linfu Unity Spring.NET Castle IoC + Interception
30 Romain VERDIER – FastConnect ( Yann SCHWARTZ – Polom