No paradigma de programação orientada a aspectos, _____ é o ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: C - Advice
A questão aborda um conceito fundamental da Programação Orientada a Aspectos (POA), que é uma abordagem que complementa a Programação Orientada a Objetos (POO) ao permitir a separação de preocupações transversais do código principal. Em POA, aspectos importantes da aplicação, como logging, segurança e transações, que tendem a se espalhar por vários pontos do programa, são modularizados separadamente.
No contexto de POA, um join point é um momento específico na execução do programa, como a chamada de um método ou o tratamento de uma exceção. Já um pointcut é uma expressão que seleciona um conjunto de join points e pode ser pensado como um filtro que capta alguns pontos específicos dentro da execução do programa para a aplicação do aspecto.
O termo Advice refere-se ao código que é executado nesses pontos filtrados pelos pointcuts. Ele define o que será feito e quando será feito, podendo ser aplicado antes (before), depois (after) ou ao redor (around) do join point.
As outras alternativas não preenchem a lacuna de forma correta, pois:
- Weaving é o processo de aplicar aspectos ao código-fonte ou ao bytecode.
- Crosscutting é o termo que descreve a preocupação que afeta várias partes de um programa.
- Aspect é uma construção que encapsula um comportamento que afeta múltiplas classes, como logging ou segurança.
- AspectJ é uma extensão e linguagem para Java que permite a programação orientada a aspectos.
Portanto, a alternativa correta é a C - Advice, pois ela é a que corretamente se encaixa na definição do código que é executado em resposta a um join point selecionado por um pointcut.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
os join points são pontos bem definidos ao longo da execução do programa. Incluem: execução de métodos, criação de objetos e lançamento de exceções. Notar que esses join points são dinâmicos, e portanto, só podem ser descobertos em tempo de execução. Por esta razão, os pointcuts e advices do AspectJ são conhecidos como um modelo de join points dinâmico.
[http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_aspecto#Modelos_de_join_point]
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo