A técnica de adaptação de um componente de software que enc...

Próximas questões
Com base no mesmo assunto
Q835200 Arquitetura de Software
A técnica de adaptação de um componente de software que encapsula o componente original e atual como filtro para requisições recebidas, determinando o comportamento do componente como desejado, é denominada
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - Wrapping.

Vamos entender o motivo dessa escolha e por que as outras alternativas estão incorretas.

B - Wrapping: No contexto de design patterns, o termo "wrapping" refere-se ao padrão Decorator. O padrão Decorator é usado para adicionar funcionalidades a objetos de maneira dinâmica. Ele encapsula o componente original, funcionando como um filtro para as requisições recebidas, permitindo modificar o comportamento do componente de acordo com a necessidade. Essa técnica é muito útil quando queremos adicionar responsabilidades aos objetos de forma flexível e sem alterar o código existente.

Agora, vamos analisar as alternativas incorretas:

A - Proxy: O padrão Proxy também envolve encapsulamento, mas seu objetivo principal é controlar o acesso ao objeto original. Ele adiciona uma camada de controle, podendo ser utilizado para adiar a criação de objetos pesados, controlar o acesso a recursos e implementar caches. Apesar de envolver um nível de encapsulamento, o Proxy não modifica diretamente o comportamento do objeto como faz o Decorator.

C - Alteração de código: Alterar o código do componente original diretamente não é uma técnica de design pattern. Mudar o código fonte pode introduzir erros e tornar a manutenção mais difícil. Os design patterns, como o Decorator, visam justamente evitar a necessidade de modificar o código existente, promovendo a reutilização e a flexibilidade.

D - Caixa-branca: "Caixa-branca" não é um padrão de design. Esse termo geralmente se refere a técnicas de teste de software, onde se tem conhecimento do funcionamento interno do código. Em termos de design patterns, não existe uma técnica chamada "caixa-branca" que encapsule componentes para modificar seu comportamento.

E - Herança: A herança é um mecanismo da programação orientada a objetos que permite criar novas classes baseadas em classes existentes. Embora possa ser usada para estender e modificar o comportamento de classes, não encapsula o componente original como o Decorator. A herança pode levar a um acoplamento forte entre classes, o que não é ideal para a flexibilidade e reutilização que os padrões de design procuram alcançar.

Com isso, concluímos que a alternativa correta é B - Wrapping, que se refere ao padrão Decorator, uma técnica que envolve o encapsulamento de um componente original para modificar seu comportamento de forma flexível e dinâmica.

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

A técnica de wrapping decompõe a funcionalidade do sistema em pacotes/componentes de software. Esses pacotes são envolvidos por uma “casca de software” que atua como interpretadora entre o legado e a nova aplicação, que pode ser orientada a objetos ou não, enquanto que a aplicação legada, normalmente, não é orientada a objetos. Isso possibilita que o ambiente legado seja preservado e parte da aplicação legada seja reutilizada, reduzindo assim o esforço de migração - reengenharia.

http://www.lbd.dcc.ufmg.br/colecoes/wtes/2002/008.pdf

famoso "rapppeeerr" mano

 

Quer ver um exemplo simples sem firula?

 

int idade = 10;

 

Integer idade = 10;

 

o primeiro é um tipo primitivo, já o segundo é uma classe, possui métodos. Por baixo dos panos, int está dentro do Integer

ou seja

 

Integer é um "rapppppperr"

 

 

A técnica de wrapping decompõe a funcionalidade do sistema em pacotes/componentes de software. Esses pacotes são envolvidos por uma “casca de software” que atua como interpretadora entre o legado e a nova aplicação, que pode ser orientada a objetos ou não, enquanto que a aplicação legada, normalmente, não é orientada a objetos. Isso possibilita que o ambiente legado seja preservado e parte da aplicação legada seja reutilizada, reduzindo assim o esforço de migração - reengenharia.

http://www.lbd.dcc.ufmg.br/colecoes/wtes/2002/008.pdf

 

O Padrão de Projeto Proxy possui três principais finalidades, sendo elas:

Prover um substituto ou placeholder para um outro objeto controlar seu acesso.

Usar um nível extra de indireção para fornecer acesso distribuído, controlado ou inteligente.

Adicionar um agregador e delegador para proteger o componente real de complexidade indevida.

 

wikipedia

Clique para visualizar este comentário

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