17
AOP – AspectJ 1.5.4 Programação Orientada a Aspectos

Aop Aspect J 1.5.4 Capitulo 01

Embed Size (px)

Citation preview

AOP – AspectJ 1.5.4Programação Orientada a Aspectos

11Conceitos Básicos sobre AOPConceitos Básicos sobre AOP

ObjetivosObjetivos

Conhecer os conceitos básicos sobre AOP/AspectJ

Conhecer os conceitos: Concern e Crosscuting concern

Conhecer a estrutura básica de um aspectoConhecer os pilares do AspectJConhecer o mecanismo padrão de weaving

do AspectJ

Conceitos BásicosConceitos Básicos

Xerox ParkAspectJ2001Eclipse

AOPConcernsCrosscuting concernsExtensão do Java

Conceitos BásicosConceitos Básicos

DesenvolvimentoMuitas questões devem ser consideradas

Problemas: Acoplamento com 3rd-party framewroks Mais tempo para desenvolver um componente Mais dificil de fazer manutenções Mais propenso a erros Menos coeso Mais difícil de migrar Menos legível

Concerns vs Crosscuting concernsConcerns vs Crosscuting concerns

Diferenciando Concerns de Crosscuting concerns

Concerns vs Crosscuting concernsConcerns vs Crosscuting concerns

Concerns vs Crosscuting concernsConcerns vs Crosscuting concerns

• Dilema• Under design vs Over design

Pilares do AspectJPilares do AspectJ

• Join point• Pointcut• Advice

• before• after• around

• Inner-type declaration

AspectsAspects

package <<Nome do pacote de existir>>;import <<Import java/AspectJ se existir>>;public aspect <<Nome do aspecto padrão java >> { // Pointcuts // Advices}

Mecanismos de WeavingMecanismos de Weaving

• Modificar a JVM• Compile time• Load Time

Mecanismos de WeavingMecanismos de Weaving

• Modificar a JVM:• Vantagens:

• Suporte completo ao AspectJ• Informações dos aspectos separadas• Mais performático

• Desvantagens:• Perda de portabilidade• Fere as especificação de bytecodes• Compilado de mudar as especificação java

Mecanismos de WeavingMecanismos de Weaving

•Load Time:• Vantagens:

• Modifica o código somente quando é carregado, assim carregando sob-demanda.

• Desvantagens:• Mais lento • Dificuldades de fazer otimizações

Mecanismos de WeavingMecanismos de Weaving

•Compile time• Vantagens:

• Portável, pois não modifica o bytecode• Mais performático, aplicação Java como

qualquer outra• Mais fácil de implementar

• Desvantagens:• Possui mais limitações: Ligar aspectos em

tempo de compilação.• Dificuldade em disernir código Java e

código AspectJ depois do código ser gerado.

Mecanismos de WeavingMecanismos de Weaving

Você aprendeu a...Você aprendeu a...

Conceitos básicos sobre AOP/AspectJConcern e Crosscuting concernsA estrutura básica de um aspectoPilares do AspectJMecanismos weaving do AspectJ

ExercíciosExercícios

1) Descreva com suas palavras o conceito de AOP/AspectJ.

2) Descreva para que serve: Join point,Pointcut, Advice e Iner-type declarations

3) Cite 3 vantagens de usar AOP4) Descreva com suas palavras a diferença entre

crosscuting e concern.5) Descreva com suas palavras como funciona o

mecanismo de weaving do AspectJ. Cite 2 vantagens.