60 likes | 163 Views
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
E N D
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á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...