/* Desenvolvimento<br />Orientado a Aspectos */<br />/**<br />  * @author  Ederson Lima<br />  * @author  Júnior Barbosa<b...
// índice<br />/**<br />  * @see  O queé?<br />  * @see  Origem<br />  * @see  Praque serve?<br />  * @see  Vantagense Des...
// O que é?<br />/** POA, é um paradigma de programação de computadores que permite aos desenvolvedores de software separa...
// Origem?<br />/** Kiczales Gregor e seus colegas da Xerox PARC desenvolveu o conceito explícito de POA e o AspectJ (1995...
// Pra que serve?<br />/** Permite a separação dos componentes entre si, fornecendo mecanismos que permitem abstrai-los e ...
// Vantagens<br />/**<br />  * Menos responsabilidades em cada parte;<br /> * Melhor modularização;<br />  * Mais possibil...
// Desvantagens<br />/**<br />  * Novo paradigma;<br /> * Tratamento de exceções;<br /> * Requer suporte de ferramentas;<b...
// Desenvolvimento<br />/* Aspectj: Linguagem orientada a Aspectos. */<br />/* Spring AOP:  Baseado em Aspectj, porém usa ...
// Sintaxe<br />/* aspect: O aspecto onde são definidos os pointcuts e suas chamadas (before, after, around). */<br />/* W...
// Sintaxe<br />/* pointcut: especificam join points de um sistema. */<br />/* Advice:  especifica comportamento extra nos...
// Sintaxe<br />/** Tipos de Advices<br />  * Around<br />* Before<br />* After<br />* AfterReturning<br />* AfterThrowing...
// Exemplos<br />Nome do aspecto<br />método<br />Nome do pointcut<br />Joint point<br />retorno<br />classe<br />argument...
// Futuro<br />/** 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 f...
// Referência<br />/**<br /> * @see http://andremoraes-tcc.googlecode.com/svn-history/r21/<br /> *             trunk/tcc/r...
Faculdade de Filosofia, Ciências e Letras de Caruaru - FAFICA, Caruaru - PE, Brasil<br />Trabalho de Introdução à Orientaç...
Upcoming SlideShare
Loading in...5
×

Orientacao aspectos

998

Published on

Presentation on Aspect-Oriented Programming and AspectJ language for Java

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
998
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Orientacao aspectos

  1. 1. /* Desenvolvimento<br />Orientado a Aspectos */<br />/**<br /> * @author Ederson Lima<br /> * @author Júnior Barbosa<br /> */<br />
  2. 2. // índice<br />/**<br /> * @see O queé?<br /> * @see Origem<br /> * @see Praque serve?<br /> * @see Vantagense Desvantagens<br />* @see Desenvolvimento<br />* @see Sintaxe<br /> * @see Exemplos<br /> * @see Futuro<br /> */<br />
  3. 3. // O que é?<br />/** 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). <br />@authorwikipedia*/<br />
  4. 4. // Origem?<br />/** 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. */<br />
  5. 5. // Pra que serve?<br />/** Permite a separação dos componentes entre si, fornecendo mecanismos que permitem abstrai-los e compô-los para produzir sistemas. <br />Exemplos: Distribuição, Gerenciamento de Dados, Controle de Concorrência, Tratamento de Exceções, Logging, Debugging, etc. */<br />
  6. 6. // Vantagens<br />/**<br /> * Menos responsabilidades em cada parte;<br /> * Melhor modularização;<br /> * Mais possibilidades de reutilização;<br /> * Produtividade;<br /> */<br />
  7. 7. // Desvantagens<br />/**<br /> * Novo paradigma;<br /> * Tratamento de exceções;<br /> * Requer suporte de ferramentas;<br /> * Tempo de compilação (weaving);<br /> */<br />
  8. 8. // Desenvolvimento<br />/* Aspectj: Linguagem orientada a Aspectos. */<br />/* Spring AOP: Baseado em Aspectj, porém usa beans para os “advices” e usa proxies dinâmicos para adicionar aspectos em sua aplicação. */<br />
  9. 9. // Sintaxe<br />/* aspect: O aspecto onde são definidos os pointcuts e suas chamadas (before, after, around). */<br />/* Weaver: realiza o trabalho de transformar ambos os códigos em algo compilável. */<br />/* joint point: local do código do componente afetado. */<br />
  10. 10. // Sintaxe<br />/* pointcut: especificam join points de um sistema. */<br />/* Advice: especifica comportamento extra nos join point */<br />
  11. 11. // Sintaxe<br />/** Tipos de Advices<br /> * Around<br />* Before<br />* After<br />* AfterReturning<br />* AfterThrowing<br /> */<br />
  12. 12. // Exemplos<br />Nome do aspecto<br />método<br />Nome do pointcut<br />Joint point<br />retorno<br />classe<br />argumento<br />advices<br />
  13. 13. // Futuro<br />/** 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. */<br />
  14. 14. // Referência<br />/**<br /> * @see http://andremoraes-tcc.googlecode.com/svn-history/r21/<br /> * trunk/tcc/referencias/Soares_Borba_AspectJ.pdf<br /> * @see http://www.dsc.ufcg.edu.br/~gmcc/gmcc_petroleo/<br /> * arquivos/neuropetro/pagina/textos/publicacoes/<br /> * revista.pdf#page=38<br />* @see http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_<br /> * orientada_a_aspecto<br />* @see http://en.wikipedia.org/wiki/Aspect- oriented_programming<br />* @see http://www.eclipse.org/aspectj/<br />* @see http://www.eclipse.org/ajdt/<br /> */<br />
  15. 15. Faculdade de Filosofia, Ciências e Letras de Caruaru - FAFICA, Caruaru - PE, Brasil<br />Trabalho de Introdução à Orientação<br />a Aspectos<br />Prof. A. César C. França, M.Sc.<br />Graduandos:<br />Ederson Lima<br />Júnior Barbosa<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×