Upload
diego-pacheco
View
1.147
Download
3
Embed Size (px)
Citation preview
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
• 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:• 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.
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.