Em engenharia de software, um padrão de projeto é uma soluçã...
Em engenharia de software, um padrão de projeto é uma solução geral reutilizável para uma situação que ocorre com frequência dentro de um determinado contexto no projeto de software. Em relação aos padrões de projeto, classifique as afirmativas abaixo em (V) verdadeiras ou (F) falsas. A seguir, assinale a alternativa que apresenta a sequência correta.
( ) O padrão observer define a dependência um-para-muitos entre objetos para que quando um objeto mude de estado todos os seus dependentes sejam notificados e atualizados automaticamente. Neste caso, as notificações induzem uma dependência na ordem de avaliação.
( ) O padrão decorator anexa responsabilidades adicionais a um objeto de maneira dinâmica. Os decoradores fornecem uma alternativa flexível para a subclasse para estender a funcionalidade.
( ) O padrão factory method define uma interface para criar um objeto, mas deixa as subclasses decidirem em qual classe criar a instância. O factory method permite que uma classe defira a criação de instâncias para as subclasses.
( ) O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso a ela. A implementação em Java deste padrão utiliza um construtor particular, um método estático combinado com uma variável.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a B - F – V – V – F.
Vamos analisar cada afirmativa para entender melhor os padrões de projeto em engenharia de software:
(1ª Afirmativa) O padrão observer realmente define a dependência um-para-muitos entre objetos para que, quando um objeto muda de estado, todos os seus dependentes sejam notificados e atualizados automaticamente. No entanto, a parte final da afirmativa, que menciona que as notificações induzem uma dependência na ordem de avaliação, está incorreta. O Observer não especifica uma ordem de notificação, apenas que os observadores devem ser notificados quando o sujeito muda de estado. Portanto, essa afirmativa é falsa.
(2ª Afirmativa) O padrão decorator realmente anexa responsabilidades adicionais a um objeto de maneira dinâmica, proporcionando uma alternativa flexível à subclasse para estender funcionalidades. Isso está correto, tornando a afirmativa verdadeira.
(3ª Afirmativa) O padrão factory method define uma interface para criar um objeto, mas permite que subclasses decidam de qual classe uma instância será criada. Isso proporciona flexibilidade ao design ao delegar a responsabilidade da criação de objetos para subclasses. Esta descrição está correta, portanto, a afirmativa é verdadeira.
(4ª Afirmativa) O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela. No entanto, a descrição dada na questão sobre a implementação em Java não é precisa, já que a implementação pode variar e não necessariamente usa um construtor privado com método estático combinado exatamente como descrito. Portanto, essa afirmação é falsa.
Os padrões de projeto são fundamentais na orientação a objetos para fornecer soluções eficazes e reutilizáveis para problemas comuns. Compreender seus princípios e aplicações é essencial para o desenvolvimento de software de qualidade.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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 primeira afirmativa é falsa: De acordo com a obra de referência, recomenda-se nunca depender da ordem de
avaliação das notificações de Observer.
A segunda afirmativa é verdadeira: O padrão decorator anexa responsabilidades adicionais a um objeto de maneira
dinâmica. Os decoradores fornecem uma alternativa flexível para a subclasse para estender a funcionalidade.
A terceira afirmativa é verdadeira: O padrão factory method define uma interface para criar um objeto, mas deixa as
subclasses decidirem em qual classe criar a instância. O factory method permite que uma classe defira a criação de
instâncias para as subclasses.
A quarta afirmativa é falsa: O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um
ponto de acesso a ela. A implementação em Java deste padrão utiliza um construtor particular, um método estático
combinado com uma variável estática.
Fonte:
FREEMAN, Elisabeth; FREEMAN, Eric. Use a cabeça! Padrões de projetos (design Patterns). 2. ed. Alta Books, 2007.
-> Retirado da prova comentada da FAB
covarde!
Excelente comentário da @Fernanda.
Achei sacanagem invalidar o item IV só por não especificar se a variável é estática ou de instância. Como o item já fala de método estático, pra mim já ficou subentendido que a variável também é porque método estático não consegue acessar variável de instância...
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo