Introdução ao AspectJ

6
Introdução ao AspectJ Desenvolvimento de Sistemas Orientados a Aspectos Prof. Rodrigo Ribeiro

description

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 - PowerPoint PPT Presentation

Transcript of Introdução ao AspectJ

Page 1: Introdução ao AspectJ

Introdução ao AspectJ

Desenvolvimento de Sistemas Orientados a Aspectos

Prof. Rodrigo Ribeiro

Page 2: Introdução ao AspectJ

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

Page 3: Introdução ao 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

Page 4: Introdução ao AspectJ

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

Page 5: Introdução ao AspectJ

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

Page 6: Introdução ao AspectJ

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...