A técnica de adaptação de um componente de software que enc...
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