No que concerne aos conceitos de programação orientada a asp...
No que concerne aos conceitos de programação orientada a aspectos, julgue o item que se segue.
A programação orientada a aspectos permite a modificação da
estrutura dos componentes em tempo de compilação.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C - certo
A Programação Orientada a Aspectos (POA), ou Aspect-Oriented Programming (AOP) em inglês, é um paradigma de programação que visa separar as preocupações transversais (cross-cutting concerns) do código principal da aplicação. Preocupações transversais são aquelas partes do código que se repetem em diferentes pontos do sistema e que não se encaixam bem nos limites tradicionais dos objetos ou funções, como logging, tratamento de erros, segurança e transações.
Um dos princípios-chave da POA é a capacidade de adicionar ou modificar funcionalidades sem alterar o código existente, melhorando assim a modularidade e a separação de preocupações. Isso é alcançado através de "aspects", os quais são módulos que definem "advice" (ações) e "pointcuts" (pontos específicos no fluxo de execução do programa). Os "advice" podem ser inseridos em "pointcuts" específicos, permitindo que o comportamento seja alterado ou estendido sem a necessidade de modificar o código original. Por exemplo, você pode ter um "advice" que executa log antes de cada método de serviço de um aplicativo.
O processo pelo qual os "aspects" são integrados ao código principal é realizado na maioria das vezes em tempo de compilação, embora algumas implementações suportem a modificação em tempo de execução. Durante a compilação, o compilador de AOP ou um "weaver" especial entrelaça os "aspects" com o código principal, resultando em um código final que incorpora as funcionalidades definidas pelos "aspects".
Portanto, a afirmação de que a programação orientada a aspectos permite a modificação da estrutura dos componentes em tempo de compilação é correta, já que é precisamente neste momento que os "aspects" são tecidos no código, alterando sua estrutura original para incluir as novas funcionalidades desejadas sem a necessidade de alterar o código fonte diretamente.
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
errei essa.. para mim programacao orientada a aspecto era intervenção no codigo em tempo de execucao
Em java, com AspectJ por exemplo, que manipula o Bytecode
mas enfim, viajei
Gabarito Certo
Em ciência da computação, programação orientada a aspectos ou POA, é um paradigma de programação de computadores que permite aos desenvolvedores de softwareseparar e organizar o código de acordo com a sua importância para a aplicação (separation of concerns). Todo o programa escrito no paradigma orientado a objetos possui código que é alheio a implementação do comportamento do objeto. Este código é todo aquele utilizado para implementar funcionalidades secundárias e que se encontra espalhado por toda a aplicação (crosscutting concern). A POA permite que esse código seja encapsulado e modularizado.
O conceito foi criado por Gregor Kiczales e a sua equipe na Xerox PARC, a divisão de pesquisa da Xerox. Eles desenvolveram o AspectJ, a primeira e mais popular linguagem POA.
Os paradigmas de programação mais antigos, como a programação procedural e programação orientada a objeto, implementam a separação do código, através de entidades únicas. Por exemplo, a funcionalidade de log de dados, numa linguagem orientada a objetos, é implementada em uma única classe, que é referenciada em todos os pontos onde é necessário fazer log de dados. Como praticamente todo método necessita que alguns dados sejam registrados em log, as chamadas a essa classe são espalhadas por toda a aplicação.
Tipicamente uma implementação da POA busca encapsular essas chamadas através de uma nova construção chamada de "aspecto". Um aspecto pode alterar o comportamento de um código (a parte do programa não orientada a aspectos) pela aplicação de um comportamento adicional, advice, sobre um "ponto de execução", ou join point. A descrição lógica de um conjunto de join points é chamada de pointcut.
Em muitas linguagens POA, a execução de um método e referências a atributos são exemplos de join points. Um pointcut consiste, por exemplo, de todas as referências a um conjunto de atributos.
Vamos na fé !
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo