Talvez, esse artigo te ajude na compreensão da POA.
https://www.devmedia.com.br/introducao-a-programacao-orientada-a-aspectos-conceitos/3062
Para a resolução de problemas de computação geralmente é utilizada a separação da tarefa principal a ser realizada em tarefas menores, facilitando assim a implementação do código, tal técnica é chamada de separação de interesses, quando está se utilizando programação orientada a objeto geralmente se separa os interesses em classes. Apesar de muito eficaz na maioria dos casos, podem ocorrer de sistemas apresentarem lógica onde isso não é possível ou viável, devido ao entrelaçamento ou então ao espalhamento dos interesses, quando os interesses aparecem em alguma dessas maneiras são chamados de interesses transversais, e nesses casos o mais recomendado é a utilização de programação orientada a aspecto.
Tendo em vista que já se sabe quando utilizar a POA, resta saber como tal abordagem é utilizada:
Na POA os interesses são separados em aspectos, tal técnica utiliza de uma lógica invertida, pois os aspectos conhecem os componentes do sistema, mas os componentes por sua vez não conhecem os aspectos. Desse modo devem ser aplicados aspectos sobre os componentes, essa combinação (weaving) é realizada pelo combinador, ou weaver. Dentro da programação orientada a aspecto alguns dos conceitos mais importantes são os joinpoints, pointcuts e advices.
Os joinpoints fazem o papel de marcadores de pontos de interesse no código durante a execução, quando o compilador encontra tal elemento o aspecto pode agir naquele trecho de código; já os pointcuts servem como uma forma de agrupamento dos joinpoints, onde um pointcut geralmente representa um conjunto de joinpoints do mesmo tipo; já os advices são os procedimentos que ocorrem no código quando os pointcuts estão ativados, podendo os mesmos serem executados antes, depois ou até mesmo em substituição, de maneira geral os advices funcionam como a própria implementação do código quando se tem interesses transversais.
Sendo tal técnica muito comum na linguagem JAVA, é muito utilizado o AspectJ, que se trata de um pacote que funciona como combinador, compilador e ainda traz consigo diversas ferramentas para tal fim, algumas das diversas vantagens da utilização de tal abordagem no JAVA seriam a facilidade de migração de JVM para AspectJ e também a similaridade entre ambas.
Para a resolução de problemas de computação geralmente é utilizada a separação da tarefa principal a ser realizada em tarefas menores, facilitando assim a implementação do código, tal técnica é chamada de separação de interesses, quando está se utilizando programação orientada a objeto geralmente se separa os interesses em classes. Apesar de muito eficaz na maioria dos casos, podem ocorrer de sistemas apresentarem lógica onde isso não é possível ou viável, devido ao entrelaçamento ou então ao espalhamento dos interesses, quando os interesses aparecem em alguma dessas maneiras são chamados de interesses transversais, e nesses casos o mais recomendado é a utilização de programação orientada a aspecto.
Tendo em vista que já se sabe quando utilizar a POA, resta saber como tal abordagem é utilizada:
Na POA os interesses são separados em aspectos, tal técnica utiliza de uma lógica invertida, pois os aspectos conhecem os componentes do sistema, mas os componentes por sua vez não conhecem os aspectos. Desse modo devem ser aplicados aspectos sobre os componentes, essa combinação (weaving) é realizada pelo combinador, ou weaver. Dentro da programação orientada a aspecto alguns dos conceitos mais importantes são os joinpoints, pointcuts e advices.
Os joinpoints fazem o papel de marcadores de pontos de interesse no código durante a execução, quando o compilador encontra tal elemento o aspecto pode agir naquele trecho de código; já os pointcuts servem como uma forma de agrupamento dos joinpoints, onde um pointcut geralmente representa um conjunto de joinpoints do mesmo tipo; já os advices são os procedimentos que ocorrem no código quando os pointcuts estão ativados, podendo os mesmos serem executados antes, depois ou até mesmo em substituição, de maneira geral os advices funcionam como a própria implementação do código quando se tem interesses transversais.
Sendo tal técnica muito comum na linguagem JAVA, é muito utilizado o AspectJ, que se trata de um pacote que funciona como combinador, compilador e ainda traz consigo diversas ferramentas para tal fim, algumas das diversas vantagens da utilização de tal abordagem no JAVA seriam a facilidade de migração de JVM para AspectJ e também a similaridade entre ambas.
Para escrever sua resposta aqui, entre ou crie uma conta
Programação Orientada A Objetos
•Uniasselvi
Programação Orientada A Objetos
•UNIFENAS
Compartilhar