
















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Introdução a Programação Orientada a Aspectos
Tipologia: Notas de estudo
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















Programação Orientada a
Aspectos
(POA)
Esse trabalho apresenta apenas uma
introdução da POA e, como tal, muitas das
capacidades deste novo paradigma não
foram aqui demonstradas. Sugere-se a
quem quiser aprofundar os seus
conhecimentos nesta área, a consulta da
pagina web do AspectJ, onde poderão
encontrar uma vasta documentação sobre
este tema.
Programação Orientada a
Objetos
(POO)
Lida com conceitos mais intuitivos
Permite ganhos
Reuso
Manutenção
Adaptação
Padrões de projetos
Problemas com OO
Tangled code (código entrelaçado)
com código de negócio e de GUI
Spread code (código espalhado)
crosscutting
concern (interesse transversal) em várias
classes
POA
é um paradigma de programação de
computadores que permite aos
desenvolvedores de software separar
e organizar o código de acordo com a
sua importância para a aplicação.
Esse conceito denomina-se
separação de interesses
(separation of concerns)
Interesses
Interesse:
aplicação;
pode ser dividido em uma série de aspectos que
representam os requisitos;
prestam suporte aos interesses funcionais;
(WINCK, GOETTEN,
Com a POO
Com a POA
Fonte: Soares,
2004
Outros conceitos
Crosscuting concern : termo que
define partes do sistema que são
aplicaveis em vários locais.
Weaving : processo de compilação do
aspecto (RESENDE. SILVA, 2005)
Exemplos de Weaver: AspectJ;
Aspect.net, PHPAspect, ...
Desvantagens POA
Depuração: enquanto no nível
sintático o código POA aparece em
separado, ele está junto do restante
do código em tempo de execução. A
inserção de advices pode se tornar
imprevisível se não ficar definido que
aspecto deve dominar.