Introdução ao AspectJ

Propaganda
Introdução ao
AspectJ
Desenvolvimento de Sistemas
Orientados a Aspectos
Prof. Rodrigo Ribeiro
Introdução

O que é AspectJ ?

História da linguagem: Da Xerox à IBM.
 Extensão à linguagem Java para AOP.

Aumenta Java com construções para:
Especificar regras de combinação
 Implementar interesses transversais

Todo programa Java é um programa AspectJ.
 Compilador AspectJ

Compila arquivos para .class (bytecodes)
 Qualquer JVM pode executar programas AspectJ

Introdução

Na aula anterior...
 Vimos os conceitos de:




Regras de combinação servem para...


Indicar “qual” ação será inserida em “que” ponto do programa
Compilador de AspectJ (combinador)



Interesses transversais.
Regras de combinação
Combinador
Usa regras de combinação para gerar o sistema
Não modifica o código fonte
AspectJ possui dois tipos de combinações


Combinações dinâmicas
Combinações estáticas
Introdução

Combinação dinâmica

Visível durante a execução do programa
 Muda o comportamento da execução
 Combinador insere (ou substitui) código.

Combinação estática
 Muda

a estrutura estática do programa
Estrutura de classes e aspectos
Inserir métodos / variáveis
 Modificar hierarquia de herança

Introdução

Ponto de junção (joinpoint)
 Ponto

identificável na execução do programa
Ponto de atuação (pointcut)
 Especifica
quais pontos de junção são
selecionados

Sugestão (advice)
 Trecho
de código que será executado em um
ponto de junção selecionado por um ponto de
atuação
Introdução

Introdução
 Combinações

estáticas
Declarações de tempo de compilação
 Avisos
 Erros

Aspecto
 Pontos
de atuação, sugestões, classes,
variáveis, métodos...
Download