Considerando padrões de projeto (design patterns), assinale ...

Próximas questões
Com base no mesmo assunto
Q2262694 Arquitetura de Software
Considerando padrões de projeto (design patterns), assinale a alternativa INCORRETA.  
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: D

Vamos analisar cada uma das alternativas para entender melhor por que a alternativa D é a incorreta e as demais estão corretas.

Alternativa A: "Os primeiros padrões de projeto surgiram da verificação da repetição de soluções de projeto em sistemas orientados a objetos."

Essa afirmação está correta. Os padrões de projeto foram inicialmente documentados pela observação de soluções repetitivas em sistemas orientados a objetos. Eles surgiram como uma forma de capturar boas práticas para resolver problemas comuns de design de software de maneira reutilizável, eficiente e compreensível.

Alternativa B: "O padrão de projeto Composto (Composite) permite que um objeto cliente interaja com um único objeto ou com uma coleção de objetos sem perceber essa diferença."

Esta afirmativa também está correta. O padrão Composite é utilizado para tratar objetos individuais e composições de objetos de maneira uniforme. Isso permite ao cliente tratar objetos individuais e composições de objetos da mesma forma, facilitando a manipulação hierárquica.

Alternativa C: "Um padrão de projeto pode ser definido como um conjunto de classes, cada uma com um conjunto de atributos e métodos, com responsabilidades alocadas a cada classe e com um protocolo de comunicação entre elas."

Embora a descrição possa parecer técnica, está correta. Um padrão de projeto realmente envolve um conjunto de classes e objetos, distribuindo responsabilidades e definindo como esses objetos se comunicam entre si. Os padrões de projeto são essencialmente soluções para problemas recorrentes de design de software, e essa definição encapsula bem o seu propósito.

Alternativa D: "A diferença básica entre o padrão de projeto Procurador (Proxy) e o padrão de projeto Decorador (Decorator) é que, além da intermediação da comunicação entre dois objetos implementada por ambos, o primeiro inclui ou modifica funcionalidades em relação àquelas do objeto agregado, o que não ocorre com o segundo."

Esta afirmativa está incorreta. A principal diferença entre o padrão Proxy e o padrão Decorator é a seguinte:

  • Proxy: Atua como intermediário para controlar o acesso a um objeto, podendo adicionar alguma lógica extra, como controle de acesso ou carregamento sob demanda, mas seu principal foco é a intermediação.
  • Decorator: Adiciona responsabilidades adicionais a um objeto de maneira dinâmica. Ou seja, o Decorator realmente modifica ou estende funcionalidades do objeto original, diferentemente do que foi afirmado.

Portanto, a alternativa D apresenta uma definição incorreta, uma vez que sugere que o Decorator não modifica funcionalidades, quando na verdade, este é o objetivo principal deste padrão.

Conclusão: A alternativa D está incorreta porque descreve erroneamente a diferença entre os padrões Proxy e Decorator, enquanto as outras alternativas apresentam definições corretas e precisas sobre os padrões de projeto.

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

O Decorator age como um intermediário, mas seu principal objetivo é estender ou modificar o comportamento do objeto sem alterar sua interface básica. O Decorator adiciona funcionalidades ao objeto existente, geralmente de forma transparente para o cliente. Cada Decorator pode adicionar uma camada adicional de comportamento.

Clique para visualizar este comentário

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