Ingénieurs 2000, Université de Marne la vallée Programmation Orientée Aspect introduction Gérald Masquelier IR3 Groupe 2 Exposé de Système
Ingénieurs 2000, Université de Marne la vallée Plan Introduction à la POA Tisseurs d'aspect Un peu de vocabulaire Exemple simple : le loggeur Mécanisme d'introduction Conclusion Références
Ingénieurs 2000, Université de Marne la vallée Introduction à la POA Les limites de la POO Buts principaux de la Programmation Orientée Objet : ➢ Rendre les applications plus modulables ➢ Réutilisation ➢ Extensibilité Limite de la programmation Object : ➢ Fonctionnalités transversales ➢ Dispersion de code
Ingénieurs 2000, Université de Marne la vallée Introduction à la POA Dispersion de code
Ingénieurs 2000, Université de Marne la vallée Introduction à la POA Définition et buts de la POA Une classe est une responsabilité ➢ exemple : Clientèle, Commande, Fournisseur Un aspect est une fonctionnalité ➢ exemple : Sécurité, Persistance, Trace L'apport de la POA sur la POO ➢ Supprimer la dispersion de code ➢ Inversion de dépendance ➢ Capturer les fonctionnalités transversales
Ingénieurs 2000, Université de Marne la vallée Introduction à la POA Méthode
Ingénieurs 2000, Université de Marne la vallée Les tisseurs d'aspect (Aspect Weaver) Le tissage d'aspect : ➢ Processus permettant d'ajouter (tisser, greffer, injecter) un ensemble d'aspects sur un ensemble de classes. Deux techniques de tissages : ➢ tissage statique ➢ tissage dynamique
Ingénieurs 2000, Université de Marne la vallée Les tisseurs d'aspect (Aspect Weaver) Java pur ➢ JAC (Java Aspect Components) (tisseur dynamique) ➢ AspectWerkz (tisseur dynamique et statique) Extension de language ➢ AspectJ (plugin ajdt dans Eclipse) ➢ JbossAOP (tisseur dynamique et statique)
Ingénieurs 2000, Université de Marne la vallée Un peu de vocabulaire Les points de jonction (joinpoint) Les points de coupures (pointcut) ➢ call ➢ execute ➢ within Les codes advices ➢ before ➢ after ➢ around
Ingénieurs 2000, Université de Marne la vallée Exemple simple : le loggeur
Ingénieurs 2000, Université de Marne la vallée Exemple simple : le loggeur
Ingénieurs 2000, Université de Marne la vallée Exemple simple : le logger Résultat :
Ingénieurs 2000, Université de Marne la vallée Mécanisme d'introduction
Ingénieurs 2000, Université de Marne la vallée Mécanisme d'introduction Résultat de l'application :
Ingénieurs 2000, Université de Marne la vallée Conclusion La POA : ➢ permet de simplifier le code des applications ➢ ajoute de la souplesse au code ➢ permet un meilleur découpage des applications
Ingénieurs 2000, Université de Marne la vallée Références -> Programmation orientée aspect pour java/J2EE (édition Eyrolles) -> ConceptionOrienteeAspects-Gil-2004.pdf -> m -> ect -> aopwork1/index.html ->