No tocante ao padrão de projeto Decorator, também conhecido...

Próximas questões
Com base no mesmo assunto
Q879913 Arquitetura de Software
No tocante ao padrão de projeto Decorator, também conhecido como Wrapper, assinale a alternativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B.

Vamos analisar o padrão de projeto Decorator (ou Wrapper) e entender o porquê da alternativa B ser a correta, além de comentar as alternativas incorretas.

Alternativa B: O Decorator adiciona responsabilidades a um objeto dinamicamente, de modo que constitui uma alternativa à prática da implementação de subclasses.

O padrão Decorator é utilizado para adicionar funcionalidades a objetos de maneira dinâmica e transparente ao cliente que utiliza esses objetos. Ele permite que novas responsabilidades sejam atribuídas a um objeto sem modificar o código existente, evitando, assim, a necessidade de criar diversas subclasses. Isso proporciona uma maior flexibilidade e reutilização de código.

Agora, vejamos as alternativas incorretas:

Alternativa A: O citado padrão resulta em implementações menos flexíveis do que a herança estática.

Essa alternativa está incorreta porque, na verdade, o padrão Decorator oferece maior flexibilidade em comparação à herança estática. A herança estática muitas vezes leva a hierarquias de classes rígidas e difíceis de modificar. O Decorator permite que responsabilidades sejam adicionadas ou removidas dinamicamente, o que favorece a flexibilidade e a manutenção do código.

Alternativa C: Os objetos resultantes da implementação de um Decorator possuem diversas diferenças, porém as formas como eles se conectam são as mesmas.

Enquanto o padrão Decorator realmente cria uma estrutura onde os objetos podem ser compostos de diferentes maneiras, a afirmação de que "as formas como eles se conectam são as mesmas" não é totalmente precisa. A conexão entre os objetos decorados pode variar, dependendo de como os decoradores são aplicados, e isso não é o ponto principal do padrão.

Alternativa D: Uma das vantagens de sistemas implementados no referido padrão é que eles possuem diversos objetos parecidos.

Embora seja verdade que o uso do Decorator pode resultar em objetos com funcionalidades incrementais semelhantes, o principal benefício do padrão é a capacidade de adicionar responsabilidades dinamicamente, não simplesmente ter "objetos parecidos".

Alternativa E: O mencionado padrão de projeto não permite adicionar responsabilidades extras ao objeto desejado.

Essa alternativa está completamente incorreta, pois o principal propósito do Decorator é exatamente permitir a adição de responsabilidades extras aos objetos de forma dinâmica e transparente.

Espero que essa explicação tenha esclarecido suas dúvidas sobre o padrão de projeto Decorator. Se precisar de mais detalhes ou tiver outras questões, estarei à disposição!

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

Decorator (Decorador)(Responsabilidade)

Anexa responsabilidades adicionais a um objeto dinamicamente. Os decoradores fornecem uma alternativa flexível de subclasses para estender a funcionalidade

 

Letra B

Fonte: padrões de projetos -  Erich Gamma

 

 

 

Decorator - Padrão estrutural.  

Aplicado quando:

   - Se deseja acrescentar responsabilidades a objetos individuais de forma dinâmica e transparente;

   - Para responsabilidades que podem ser removidas;

   - Quando a extensão através do uso de subclasses não é prática.

(Fonte: Gamma) 

At.te

Foco na missão

b-

decorator decora um objeto com responsabilidades e funcionalidades estendidas;

Falou de responsabilidade, lembro do Decorator.

LETRA B

Pensa comigo, quando aplicamos uma decoração a uma casa? Quando ela está pronta. Uma decoração faz o quê? Adiciona detalhes, cores, ideias, enfim muda o ambiente.

Então o padrão DECORETOR, decora um OBJETO DINAMICAMENTE, porque você decora algo que tá pronto (classe instanciada), adicionando novas RESPONSABILIDADES, ou seja, o decorator adiciona mais detalhes, novas ideias e por aí vai.

Pega o BIZU: @rodolfodalves.

Clique para visualizar este comentário

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