Programmation orienté aspect

401 vues

Publié le

Programmation orienté aspect

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
401
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Programmation orienté aspect

  1. 1. La Programmation Orientée Aspect Par: Sari Meriem 1 UNIVERSITE de MOHAMED CHERIF MESAADIA SOUK-AHRAS Exposé sur:
  2. 2. Introduction 2  L'approche orientée objet a procuré des bénéfices indénombrables dans la communauté génie logicielle.  Elle offre un modèle de programmation riche très proche du monde réel.  Ses limites et échoue face à la modularisation des préoccupations transversales au système (la sécurité, la gestion transactionnelle de la persistance, la synchronisation, le logging…).  Ces modules enchevêtrées avec les modules métiers du système.  Ce phénomène dégrade considérablement le maintien, la compréhension et l'évolutivité du code. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  3. 3. Introduction 3Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  4. 4. Introduction 4  La programmation orientée aspect intervient pour capturer des préoccupations transversales en utilisant des aspects. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  5. 5. Définitions 5  La programmation orientée aspect (POA) est un paradigme de programmation qui permet de traiter séparément les préoccupations transversales.  Dit en anglais: Aspect-Oriented Programming (AOP).  Elle n'est pas liée à un langage de programmation en particulier.  Elle peut être mise en œuvre aussi bien avec un langage orienté objet (Python) qu'avec un langage procédural (C). Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  6. 6. Définitions 6  Les préoccupations transversales sont les fonctionnalités dites non métiers.  L'enchevêtrement du code est provoqué quand un module est implémenté pour traiter plusieurs préoccupations en même temps. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  7. 7. Définitions 7  L'éparpillement du code survient quand une préoccupation est implémentée dans plusieurs modules. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  8. 8. Concepts 8  Aspect.  Point de jonction (joinpoint).  Coupe (pointcut).  Code advice (advice code).  Tissage (weaving). Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  9. 9. Aspect 9 Un aspect est une entité logicielle qui capture une fonctionnalité transversale à une application. Les trois eléments principaux définis dans un aspect sont:  Les coupes définissent où l'aspect doit être intégré dans une application.  Les codes advice définissent ce que fait l'aspect (le quoi).  Le mécanisme d'introduction permet d'ajouter du contenu structurel dans une application. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  10. 10. Point de jonction 10 Un point de jonction est un point dans le flot de contrôle d'un programme dans lequel un ou plusieurs aspects peuvent être appliqués. Les points de jonction sont groupés en fonction de leur type. Un point de jonction désigne un moment de l'exécution. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  11. 11. Coupe 11  Une coupe sélectionne un ensemble de points de jonction.  Chaque langage définit sa propre syntaxe.  Une coupe est définie avec un langage de patterns qui permet d'indiquer où l'aspect doit être intégré dans l'application en utilisant des quantificateurs, des opérateurs booléen et des caractères joker… Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  12. 12. Code advice 12 Un code advice est un bloc de code définissant le comportement d'un aspect. Un code advice est un bloc d'instruction qui spécifie le comportement de l'aspect. Un code advice est toujours associé à une coupe ou plus exactement aux points de jonctions sélectionnés par cette coupe. En effet, un code advice n'est jamais appelé manuellement. Un code advice peut être exécuté selon trois modes : avant, après, ou autour d'un point de jonction. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  13. 13. Tissage 13  Le tissage (weaving) est le processus qui prends en entrée un ensemble d'aspects et une application de base et fournit en sortie une application dont le comportement et la structure sont étendus par les aspects. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  14. 14. Avantages 14  Maintenance aisée.  Meilleure réutilisation.  Main de productivité.  Amélioration de la qualité du code. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  15. 15. Inconvénients 15  La génération automatique de code peut produire un code qui peut être difficile à analyser. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL
  16. 16. Stratégies d’Implémentation 16  Le tissage statique par instrumentation du code source ou du pseudo-code machine intermédiaire .  Le tissage dynamique lors de l'exécution du logiciel. Sari Meriem Programmation Orientée Aspect 1ére Année Master GL

×