Com relação a banco de dados distribuído e à programação or...

Próximas questões
Com base no mesmo assunto
Q869353 Programação

Com relação a banco de dados distribuído e à programação orientada a aspectos (POA), julgue o item subsequente.


A POA permite separar a atividade de desenvolver as funcionalidades requeridas da atividade de integrar software, o que possibilita alterar sua estrutura interna, como atributos e métodos, assim como reutilizar componentes de outros sistemas.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - certo

Para esclarecer a questão e por que a alternativa correta é "Certo", precisamos entender o conceito de Programação Orientada a Aspectos (POA) ou Aspect-Oriented Programming (AOP) em inglês. A POA é um paradigma de programação que visa aumentar a modularidade, permitindo a separação de cross-cutting concerns, ou seja, aspectos que afetam diversas partes de um programa e que não se encaixam bem nas abstrações tradicionais como classes e métodos. Exemplos típicos desses aspectos são log, segurança, transações e tratamento de erros.

A afirmação da questão está correta porque a POA permite isolar esses aspectos em unidades separadas chamadas aspectos. Esses aspectos podem ser aplicados de forma declarativa a pontos específicos de um programa, conhecidos como join points, sem a necessidade de modificar a estrutura interna dos componentes, como seus atributos e métodos. Isso facilita a manutenção e a reutilização de código, já que o desenvolvedor pode adicionar ou alterar funcionalidades de aspectos sem afetar o código principal das funcionalidades do sistema.

Além disso, a POA facilita a integração de software ao permitir que aspectos sejam aplicados sobre os componentes de uma aplicação de maneira transparente, o que pode incluir componentes vindos de outros sistemas. Dessa forma, é mais simples adaptar e reutilizar código em diferentes projetos, o que é uma prática valiosa no desenvolvimento de software.

Compreender a POA é importante para os desenvolvedores porque ela oferece um meio eficaz de gerenciar a complexidade do software e melhorar a qualidade do código. A resposta correta reflete o entendimento de que a POA é uma técnica poderosa para modularizar preocupações secundárias e promover a reutilização, sem interferir nas funcionalidades principais do sistema.

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

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 software separar 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.

 

 

 

 

Certo

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_aspecto

Wikipedia não meu amigo.......

A Programação Orientada a Aspectos envolve quebrar a lógica do programa em partes distintas chamadas de interesses (concerns);

As funções que abrangem vários pontos de um aplicativo são chamadas de interesses transversais (cross-cutting concerns) e esses interesses transversais são conceitualmente separados da lógica de negócios do aplicativo;

A unidade chave de modularidade em POO é a classe, enquanto que em AOP a unidade de modularidade é o aspecto;

Voltada a complementar outras formas de Programação como por exemplo a POO;

Unidade de modularidade é o Aspecto;

Ex.:

Registro de Log;

Auditorias de códigos;

Terminologias de POA:

Aspect - Este é um módulo que possui um conjunto de APIs que fornecem requisitos transversais;

Join point - Representa um ponto em seu aplicativo onde você pode plugar o aspecto AOP;

Advice - Esta é a ação real a ser tomada antes ou depois da execução do método;

before - Execute o advice antes da execução do método;after - Execute o advice após a execução do método, independentemente de seu resultado;after-returning - Execute o advice após a execução do método a somente se o método for concluído com êxito;after-throwing - Execute o advice após a execução do método a somente se o método finalizar lançando uma exceção;around - Execute o advice antes e depois que o método for invocado;

Pointcut - Este é um conjunto de um ou mais pontos de junção onde um advice deve ser executado;

Introduction - Uma introdução permite adicionar novos métodos ou atributos às classes existentes;

Target object - O objeto instrumentado com advices por um ou mais aspectos;

Weaving - É o processo de vincular aspectos com outros tipos de aplicativos ou objetos para criar um objeto advised;

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo