Considerando padrões de projeto (design patterns), assinale ...
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