1. Concepts de base
AspectJ est une implémentation basée sur Java pour la programmation d'aspect. Il ajoute le nouveau concept de jointure Point à Java, mais en fait, ce n'est que le nom d'un concept Java existant. Il ajoute quelques nouvelles structures à la langue Java: coup de point, notification (conseils), déclaration inter-type (déclaration inter-type) et aspect (aspect). Les inclinaisons et les notifications affectent dynamiquement le flux du programme, les déclarations de type inter-type sont des structures hiérarchiques de classe statiques du programme, et les tangentes sont des encapulations de toutes ces nouvelles structures.
Les concepts basés sur les sections, les points de connexion, les points tangents et les notifications sont les suivants:
Aspect: La déclaration d'aspect est similaire à la déclaration de classe en Java, et il contient des coups de points et des conseils correspondants dans l'aspect.
Point conjoint: représente un point clairement défini dans le programme.
PointCut: représente un groupe de points articulaires.
Conseils: les conseils définissent les opérations spécifiques à effectuer par le point de programme défini dans Pointcut.
Le point de connexion est un point approprié dans le flux du programme. La tangente recueille un ensemble spécifique de points de connexion et les valeurs de ces points. Une notification est le code exécuté lorsqu'un point de connexion arrive, et ce sont des parties dynamiques de l'aspectj. En fait, le point de connexion est comme une instruction dans un programme, et le point de tangent est un point de rupture défini sur une déclaration spécifique. Ce point d'arrêt. Il existe également de nombreux types différents de déclarations inter-type dans AspectJ, qui permet aux programmeurs de modifier la structure statique, le nom, les membres de la classe et les relations entre les classes. L'aspect de l'aspectj est l'unité de module qui coupe le foyer. Leur comportement est similaire aux classes en Java, mais résume également la coupe ponctuelle, les notifications et les déclarations inter-type.
2. Comment développer des programmes AOP basés sur AJDT: outils de développement AspectJ?
Suivez les instructions sur le site Web AJDT pour installer le plugin AJDT dans Eclipse http://www.eclipse.org/ajdt/
Créer un projet AspectJ
Mener le développement du code (cet article fournit un exemple simple)
3. Exemple simple:
La copie de code est la suivante:
package aop.test;
Interface publique FigureElement {
public void setxy (int x, int y);
public void draw ();
}
La copie de code est la suivante:
package aop.test;
Le point de classe publique implémente figureElement {
public int x;
privé int y;
public int getx () {
retour x;
}
String public Setx (int x) {
System.out.println ("Set x Valeur: x =" + x);
this.x = x;
return "La valeur de retour est x =" + x;
}
public int gety () {
retour y;
}
public void sey (int y) {
this.y = y;
}
public Point () {
}
Point public (int x, int y) {
this.x = x;
this.y = y;
}
@Outrepasser
public void setxy (int x, int y) {
this.x = x;
this.y = y;
System.out.println ("Point setxy: x =" + x + ", y =" + y);
}
@Outrepasser
public void draw () {
System.out.println ("Point Draw");
}
@Outrepasser
public String toString () {
return "point: x =" + x + ", y =" + y;
}
}