1. Conceitos básicos
AspectJ é uma implementação baseada em Java para programação de aspectos. Ele acrescenta o novo conceito de java ao Java, mas, na verdade, é apenas o nome de um conceito Java existente. Ele adiciona algumas novas estruturas ao idioma Java: Pointcut, Notificação (Conselho), Declaração Inter-Tipo (Declaração Inter-Tipo) e Aspecto (aspecto). As inclinações e as notificações afetam dinamicamente o fluxo do programa, as declarações entre o tipo são estruturas hierárquicas de classe estática do programa, e as tangentes são encapsulações de todas essas novas estruturas.
Os conceitos baseados em seções, pontos de conexão, pontos tangentes e notificações são os seguintes:
Aspecto: A declaração de aspecto é semelhante à declaração de classe em Java e contém alguns pontos de ponta e conselhos correspondentes em aspecto.
Ponto da junta: representa um ponto claramente definido no programa.
Pointcut: representa um grupo de pontos articulares.
Conselho: Conselhos definem as operações específicas a serem feitas pelo ponto do programa definido no Pointcut.
O ponto de conexão é um ponto apropriado no fluxo do programa. A tangente coleta um conjunto específico de pontos de conexão e os valores nesses pontos. Uma notificação é o código executado quando um ponto de conexão chega, e essas são partes dinâmicas do aspecto. De fato, o ponto de conexão é como uma declaração em um programa, e o ponto de tangente é um ponto de interrupção definido em uma declaração específica. Este ponto de interrupção. Também existem muitos tipos diferentes de declarações entre os tipos no aspectoj, que permitem que os programadores modifiquem a estrutura estática, o nome, os membros da classe e os relacionamentos entre as classes. O aspecto no aspectoj é a unidade de módulo que corta o foco. Seu comportamento é semelhante às classes em Java, mas também encapsula as declarações de corte de pontos, notificações e inter-tipo.
2. Como desenvolver programas de AOP baseados em AJDT: AspectJ Development Tools?
Siga as instruções no site da AJDT para instalar o plugin AJDT no Eclipse http://www.eclipse.org/ajdt/
Crie um projeto de aspecto
Realizar o desenvolvimento do código (este artigo fornece um exemplo simples)
3. Exemplo simples:
A cópia do código é a seguinte:
pacote AOP.test;
interface pública Figura Figura {
public void Setxy (int x, int y);
public void draw ();
}
A cópia do código é a seguinte:
pacote AOP.test;
public class Point implementa a figura {
public Int X;
private int y;
public int getx () {
retornar x;
}
public String setx (int x) {
System.out.println ("Set X Valor: X ="+X);
this.x = x;
retornar "o valor de retorno é x ="+x;
}
public int gety () {
retornar y;
}
public void Sety (int y) {
this.y = y;
}
public Point () {
}
public Point (int x, int y) {
this.x = x;
this.y = y;
}
@Override
public void setxy (int x, int y) {
this.x = x;
this.y = y;
System.out.println ("Point setXy: x ="+x+", y ="+y);
}
@Override
public void draw () {
System.out.println ("Draw Point");
}
@Override
public string tostring () {
retornar "Ponto: x ="+x+", y ="+y;
}
}