Retour

Jeudi 14 mars 2024

L’AOP, mais qu’est-ce donc ?

Écrire des logs, gérer des exceptions, des transactions, des droits, des habilitations, … ? Comment mettre en place ces fonctionnalités transverses simplement ? C'est ce que nous allons voir en traitant le sujet de la programmation orientée aspect (AOP pour Aspect Oriented Programming). Ce concept a été créé en 1996 par l'informaticien Gregor Kickzales pour le laboratoire Xerox.  

Gregor KICKZALES

  Ce type de programmation est utile pour séparer le code technique du code métier et simplifier la gestion des fonctionnalités transverses.   L’objectif de ce court article est d’introduire les principaux concepts de la programmation orientée aspect afin de pouvoir en utiliser le principe dans vos cas pratiques par la suite.  

Pour commencer, qu’est-ce qu’un aspect ?

  Dans ce contexte, il s’agit tout simplement de la fonctionnalité transverse que l’on souhaite implémenter. Nous appellerons greffon l’action à exécuter lorsqu’on atteint le point de jonction dans le programme. Le greffon peut être paramétré pour que le code soit exécuté avant ou après une méthode ou seulement en cas d’exception selon le besoin.   On peut définir une coupe pour créer un ensemble de points de jonctions. On s’en servira, par exemple, si on souhaite écrire des logs à l’appel de chaque service de l’application. Le processus d’insertion de l’aspect au moment de la compilation ou de l’exécution s’appelle le tissage.  

Et dans la pratique ?

Dans la pratique le module Spring AOP permet une prise en main rapide et assez simple des fonctionnalités de la programmation orientée aspect. Vous trouverez beaucoup d’exemples sur internet pour débuter.  

 Elodie

    Source image : https://www.cs.ubc.ca/news/2014/09/goodbye-sage-stage