Professor: Paulo Borba
Assistente: Sérgio Soares
Disciplina: Tópicos Avançados em Linguagens de Programação I
Pré-requisitos: Experiência com a linguagem Java e conceitos de distribuição, persistência e concorrência
Este curso visa motivar, discutir, exercitar, e consolidar o uso de uma nova técnica de programação: programação orientada a aspectos (AOP). Esta nova técnica ajuda a resolver alguns dos problemas inerentes à programação orientada a objetos e outros paradigmas de desenvolvimento, trazendo ganhos consideráveis com relação a qualidade de software e produtividade no desenvolvimento.
Os benefícios de AOP são obtidos através da modularização de diferentes preocupações ou requisitos como persistência, distribuição, tratamento de exceções, e concorrência. De fato, com uma linguagem orientada a objetos, a implementação destas preocupações é espalhada entre várias classes do sistema. Com uma linguagem orientada a aspectos, esta implementação é encapsulada em módulos específicos chamados aspectos.
Em particular, o curso será baseado na linguagem AspectJ, uma extensão de Java com suporte a programação orientada a aspectos, e envolve as seguintes atividades:
Mais detalhes básicos sobre AspectJ e AOP podem ser encontrados nos seguintes endereços:
http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html
Veja o programa em http://www.cin.ufpe.br/~scbs/talp1/