Questão 41 · Informática: Programação e algoritmos
Deseja-se implementar uma solução para o desenvolvimento de um display, o qual mostra o estado de um objeto X a partir do objeto em si, utilizando-se padrão de projeto.
Displays alternativos são fornecidos, e a necessidade principal é que todos eles sejam automaticamente notificados e atualizados para refletir a mudança ocorrida quando o estado do objeto mudar.
Para resolver esse problema, é mais adequado o uso do padrão
- A) Observer.
- B) Facade.
- C) Adapter.
- D) Iterator.
- E) Visitor.
Marque a alternativa correta:
Gabarito: A
Gabarito definitivo divulgado pela banca Cebraspe (TCE/RO 2019).
Comentário
Gabarito: A.
O enunciado descreve o problema clássico do padrão Observer: um objeto (sujeito) tem seu estado exibido em displays, e todos os observadores precisam ser notificados e atualizados automaticamente quando o estado muda. O Observer define uma relação de dependência um-para-muitos, em que o sujeito mantém a lista de observadores e os notifica a cada alteração, sem que eles precisem ser reconsultados manualmente.
- B: Facade fornece uma interface simplificada para um subsistema complexo, sem tratar notificação de mudanças.
- C: Adapter converte a interface de uma classe para outra esperada pelo cliente, não notifica estados.
- D: Iterator percorre elementos de uma coleção, sem relação com atualização de displays.
- E: Visitor separa operações da estrutura de objetos, mas não resolve a atualização automática de múltiplos observadores.
Dica: sempre que a questão falar em notificação automática de múltiplos interessados sobre mudança de estado, pense em Observer.
Fundamentos: Padrão de projeto Observer (GoF) · Conceito de notificação um-para-muitos entre sujeito e observadores
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe TCE/RO 2019 (Analista de Tecnologia da Informação – Especialidade: Desenvolvimento de Sistemas), questão 41, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.