3. // O que é? /** 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 (separation of concerns). @authorwikipedia*/
4. // Origem? /** Kiczales Gregor e seus colegas da Xerox PARC desenvolveu o conceito explícito de POA e o AspectJ (1995) para Java que surgiu para tentar solucionar as limitações do paradigma orientado a objetos. Que visam obter uma maior modularidade de software em situações práticas. */
5. // Pra que serve? /** Permite a separação dos componentes entre si, fornecendo mecanismos que permitem abstrai-los e compô-los para produzir sistemas. Exemplos: Distribuição, Gerenciamento de Dados, Controle de Concorrência, Tratamento de Exceções, Logging, Debugging, etc. */
6. // Vantagens /** * Menos responsabilidades em cada parte; * Melhor modularização; * Mais possibilidades de reutilização; * Produtividade; */
7. // Desvantagens /** * Novo paradigma; * Tratamento de exceções; * Requer suporte de ferramentas; * Tempo de compilação (weaving); */
8. // Desenvolvimento /* Aspectj: Linguagem orientada a Aspectos. */ /* Spring AOP: Baseado em Aspectj, porém usa beans para os “advices” e usa proxies dinâmicos para adicionar aspectos em sua aplicação. */
9. // Sintaxe /* aspect: O aspecto onde são definidos os pointcuts e suas chamadas (before, after, around). */ /* Weaver: realiza o trabalho de transformar ambos os códigos em algo compilável. */ /* joint point: local do código do componente afetado. */
10. // Sintaxe /* pointcut: especificam join points de um sistema. */ /* Advice: especifica comportamento extra nos join point */
11. // Sintaxe /** Tipos de Advices * Around * Before * After * AfterReturning * AfterThrowing */
12. // Exemplos Nome do aspecto método Nome do pointcut Joint point retorno classe argumento advices
13. // Futuro /** Não é improvável que POA irá obter o seu avanço em um futuro próximo. Os problemas com POA hoje são a falta de ferramentas de desenvolvimento e documentação. É difícil prever o que POA se tornará no futuro, mas a tendência é que POA faça parte de paradigmas de programação futuro. */
15. Faculdade de Filosofia, Ciências e Letras de Caruaru - FAFICA, Caruaru - PE, Brasil Trabalho de Introdução à Orientação a Aspectos Prof. A. César C. França, M.Sc. Graduandos: Ederson Lima Júnior Barbosa