Questão nº 41
Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 41)
André está trabalhando em um sistema com atualização de dados de forma assíncrona, onde um gráfico e uma planilha precisam repercutir de forma automática qualquer alteração efetuada na fonte de dados.
Para implementar a solução, André deve usar o padrão de desenvolvimento:
- AChain of Responsibility;
- BAdapter;
- CFactory Method;
- DObserver; (alternativa correta)
- EFront Controller.
Resposta comentada
Gabarito Alternativa D
O padrão Observer (Observador) permite que um objeto (o Sujeito) notifique automaticamente vários outros objetos (os Observadores) sobre qualquer mudança em seu estado, sem que o Sujeito precise saber detalhes sobre esses Observadores.
- (A) Incorreta: O Chain of Responsibility (Cadeia de Responsabilidade) é usado para passar uma requisição por uma cadeia de objetos até que um deles a trate, não para notificar múltiplos objetos sobre uma mudança.
- (B) Incorreta: O Adapter (Adaptador) é usado para fazer com que interfaces incompatíveis funcionem juntas, não para notificar mudanças de estado.
- (C) Incorreta: O Factory Method (Método de Fábrica) é um padrão de criação que define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar, não estando relacionado à notificação de estado.
- (D) Correta: O padrão Observer é ideal para este cenário, pois a fonte de dados (o Sujeito) pode notificar automaticamente o gráfico e a planilha (os Observadores) sempre que seus dados forem alterados, garantindo a atualização automática e consistente.
- (E) Incorreta: O Front Controller (Controlador Frontal) é um padrão arquitetural usado em aplicações web para centralizar o tratamento de requisições, não para gerenciar a notificação de mudanças de estado entre componentes internos.
Fonte: FGV TJ-SE Servidor 2023 Técnico Judiciário - Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.