AspectJ
Aller à la navigation
Aller à la recherche
AspectJ est un langage de programmation orienté aspect construit comme une extension du langage Java créé au Xerox PARC . Un compilateur AspectJ pousse la notion d'aspect dans le code de la machine virtuelle, implémentant ainsi une notion de relation. Les skins eux-mêmes sont écrits en Java étendu en générant un fichier java ou compilés avec un code machine compatible avec celui généré par les compilateurs Java.
Fonctionnalités d'AspectJ
- Aspects : Ceux-ci sont définis comme des "wrappers" de code. Ils ressemblent à des classes Java.
- Joinpoint : points dans le code Java où un aspect peut intercepter des classes.
- Pointcuts - Groupes logiquement concaténés de points de jonction.
- Conseils : Ce sont des morceaux de code associés aux pointcuts, qui injectent un nouveau comportement sur tous les joinpoints représentés par le pointcut.
- Déclarations de membres intertypes : permettent à un aspect de définir entièrement les champs et les méthodes implémentés pour plusieurs classes.
Avantages et inconvénients
Certains des avantages du langage AspectJ incluent :
- AspectJ permet de modéliser des références croisées, étendant ainsi les possibilités de la POO.
- C'est un langage concis et explicite conçu pour offrir les avantages de la modularité.
En revanche, le langage AspectJ présente les inconvénients suivants :
- Sans un outil approprié, le programmeur ne comprendra pas la fonctionnalité du système complet. Par exemple, les membres inter-types peuvent ne pas être vus et ne jamais être utilisés.
- La modélisation, la planification et le contrôle sont beaucoup plus importants dans la phase de développement. Les aspects doivent être reconnus par les concepteurs, ce qui allège la tâche des programmeurs.
- Les aspects peuvent être mal utilisés. Un programmeur peut implémenter de fausses fonctionnalités à n'importe quel stade de développement et affecter une large gamme du système. La puissance de la POA peut être difficile à comprendre.
Compilateurs conçus pour AspectJ
Il existe au moins deux compilateurs AspectJ :
- ajc fait partie des outils supportés par le projet Eclipse , et
- abc qui est un compilateur, optimiseur et extensible, produit sur aspectbench.org.
Liens externes
Wikibooks héberge un livre ou un manuel sur Let's Program in AspectJ .- Page d'accueil AspectJ
- Outils de développement AspectJ (AJDT) pour Eclipse
- Documentation AspectJ
- https://web.archive.org/web/20141216200424/http://aspectbench.org/
- "5 Leben des AspectJ" de Markus Voelter et Martin Lippert
- "Tissage de conseils dans AspectJ" par Erik Hilsdale et Jim Hugunin