/* DesenvolvimentoOrientado a Aspectos *//**  * @author  Ederson Lima  * @author  Júnior Barbosa  */
// índice/**  * @see  O queé?  * @see  Origem  * @see  Praque serve?  * @see  Vantagense Desvantagens* @see  Desenvolvimento* @see  Sintaxe  * @see  Exemplos  * @see  Futuro  */
// 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*/
// 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. */
// 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. */
// Vantagens/**  * Menos responsabilidades em cada parte; * Melhor modularização;  * Mais possibilidades de reutilização; * Produtividade;  */
// Desvantagens/**  * Novo paradigma; * Tratamento de exceções; * Requer suporte de ferramentas; * Tempo de compilação (weaving);  */
// 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. */
// 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. */
// Sintaxe/* pointcut: especificam join points de um sistema. *//* Advice:  especifica comportamento extra nos join point */
// Sintaxe/** Tipos de Advices  * Around* Before* After* AfterReturning* AfterThrowing */
// ExemplosNome do aspectométodoNome do pointcutJoint pointretornoclasseargumentoadvices
// 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. */
// Referência/** * @see http://andremoraes-tcc.googlecode.com/svn-history/r21/ *             trunk/tcc/referencias/Soares_Borba_AspectJ.pdf  * @see http://www.dsc.ufcg.edu.br/~gmcc/gmcc_petroleo/ *            arquivos/neuropetro/pagina/textos/publicacoes/  *            revista.pdf#page=38* @see http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_ *             orientada_a_aspecto* @see http://en.wikipedia.org/wiki/Aspect- oriented_programming* @see http://www.eclipse.org/aspectj/* @see http://www.eclipse.org/ajdt/  */
Faculdade de Filosofia, Ciências e Letras de Caruaru - FAFICA, Caruaru - PE, BrasilTrabalho de Introdução à Orientaçãoa AspectosProf. A. César C. França, M.Sc.Graduandos:Ederson LimaJúnior Barbosa

Orientacao aspectos

  • 1.
    /* DesenvolvimentoOrientado aAspectos *//** * @author Ederson Lima * @author Júnior Barbosa */
  • 2.
    // índice/** * @see O queé? * @see Origem * @see Praque serve? * @see Vantagense Desvantagens* @see Desenvolvimento* @see Sintaxe * @see Exemplos * @see Futuro */
  • 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?/** KiczalesGregor 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 queserve?/** 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/** Tiposde Advices * Around* Before* After* AfterReturning* AfterThrowing */
  • 12.
    // ExemplosNome doaspectométodoNome do pointcutJoint pointretornoclasseargumentoadvices
  • 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. */
  • 14.
    // Referência/** *@see http://andremoraes-tcc.googlecode.com/svn-history/r21/ * trunk/tcc/referencias/Soares_Borba_AspectJ.pdf * @see http://www.dsc.ufcg.edu.br/~gmcc/gmcc_petroleo/ * arquivos/neuropetro/pagina/textos/publicacoes/ * revista.pdf#page=38* @see http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_ * orientada_a_aspecto* @see http://en.wikipedia.org/wiki/Aspect- oriented_programming* @see http://www.eclipse.org/aspectj/* @see http://www.eclipse.org/ajdt/ */
  • 15.
    Faculdade de Filosofia,Ciências e Letras de Caruaru - FAFICA, Caruaru - PE, BrasilTrabalho de Introdução à Orientaçãoa AspectosProf. A. César C. França, M.Sc.Graduandos:Ederson LimaJúnior Barbosa