Introdução ao AspectJ
description
Transcript of Introdução ao AspectJ
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: Interesses transversais. Regras de combinação Combinador
Regras de combinação servem para... Indicar “qual” ação será inserida em “que” ponto do programa
Compilador de AspectJ (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áticaMuda 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
AvisosErros
AspectoPontos de atuação, sugestões, classes,
variáveis, métodos...