3. ObjetivosObjetivos
Conhecer os conceitos básicos sobre
AOP/AspectJ
Conhecer os conceitos: Concern e
Crosscuting concern
Conhecer a estrutura básica de um aspecto
Conhecer os pilares do AspectJ
Conhecer o mecanismo padrão de weaving
do AspectJ
5. Conceitos BásicosConceitos Básicos
Desenvolvimento
Muitas 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
6. Concerns vs Crosscuting concernsConcerns vs Crosscuting concerns
Diferenciando Concerns de Crosscuting concerns
12. 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
13. 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
14. 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.
16. Você aprendeu a...Você aprendeu a...
Conceitos básicos sobre AOP/AspectJ
Concern e Crosscuting concerns
A estrutura básica de um aspecto
Pilares do AspectJ
Mecanismos weaving do AspectJ
17. 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 AOP
4) 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.