Logo Passei Direto
Buscar
Um sistema de pedidos de café, em uma cafeteria, permite adicionar ingredientes (como leite, chocolate ou chantilly) a uma bebida de forma dinâmica. O uso da herança tradicional resultaria em uma explosão de subclasses para cada combinação possível de itens extras (por exemplo, CafeComLeite, CafeComChocolate, CafeComLeiteComChocolate), o que seria difícil de manter. Qual vantagem do padrão Decorator atende a esse requisito? A Adapta interfaces sem modificar as classes originais. B Implementação pode ser selecionada em tempo de execução. C Adição de funcionalidades por composição e encapsulamento. D Garante uma única instância de cada classe. E Permite composição de objetos em árvore.
User badge image
Davi Guimarães

há 3 semanas

Respostas

User badge image

Ed Verified user icon

há 3 semanas

Para resolver essa questão, vamos analisar as alternativas em relação ao padrão Decorator e como ele se aplica ao problema apresentado. O padrão Decorator é utilizado para adicionar funcionalidades a um objeto de forma dinâmica, sem a necessidade de criar subclasses para cada combinação de características. Isso é especialmente útil em situações onde há muitas combinações possíveis, como no exemplo de pedidos de café. Vamos analisar as alternativas: A) Adapta interfaces sem modificar as classes originais. - Embora o Decorator possa adaptar interfaces, essa não é a principal vantagem que resolve o problema da explosão de subclasses. B) Implementação pode ser selecionada em tempo de execução. - Isso é verdade, mas não é a principal vantagem que se destaca no contexto da questão. C) Adição de funcionalidades por composição e encapsulamento. - Esta é uma das principais vantagens do padrão Decorator, pois permite adicionar ingredientes de forma dinâmica sem criar subclasses para cada combinação. D) Garante uma única instância de cada classe. - Isso não é uma característica do padrão Decorator. E) Permite composição de objetos em árvore. - Embora o padrão Decorator permita a composição, a questão não se refere especificamente a essa característica. A alternativa que melhor atende ao requisito da questão, considerando a adição dinâmica de funcionalidades sem a necessidade de criar várias subclasses, é: C) Adição de funcionalidades por composição e encapsulamento.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina