Engenharia Múltipla Escolha

Você está desenvolvendo um sistema para acompanhar as ações da bolsa de valores. As cotações podem ser acompanhadas na interface com usuário na forma textual (ticker do seu valor) e na forma de um gráfico de candlesticks, apresentando o histórico das cotações em um período do tempo. As duas formas de visualização devem estar em sincronia com as variações que ocorrem com o valor da cotação das ações.

Você está desenvolvendo um sistema para acompanhar as ações da bolsa de valores. As cotações podem ser acompanhadas na interface com usuário na forma textual (ticker do seu valor) e na forma de um gráfico de candlesticks, apresentando o histórico das cotações em um período do tempo. As duas formas de visualização devem estar em sincronia com as variações que ocorrem com o valor da cotação das ações.

  1. Strategy
  2. State
  3. Iterator
  4. Observer
  5. Mediator

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - Observer

Análise do Problema

O enunciado descreve um cenário clássico de desenvolvimento de software onde existe uma fonte de dados centralizada (as cotações da bolsa) que precisa atualizar múltiplos componentes visuais (texto e gráfico) sempre que os dados mudam.

Essa necessidade de manter a consistência entre a origem dos dados e suas representações é resolvida pelo padrão de projeto Observer.

Por que o padrão Observer?

O padrão Observer (Observador) define uma dependência do tipo um-para-muitos entre objetos. Quando um objeto muda de estado (o Assunto ou Subject), todos os seus observadores são notificados e atualizados automaticamente.

No contexto da questão:

  • Assunto (Subject): O sistema de cotação da bolsa de valores (fonte de dados).
  • Observadores (Observers): A interface textual (ticker) e a interface gráfica (gráfico de candlesticks).
  • Comportamento: Assim que ocorre uma variação no valor da ação, a fonte notifica ambos os observadores, garantindo a sincronização solicitada.

Este é o mesmo princípio utilizado em frameworks como o Model-View-Controller (MVC), onde o Modelo (dados) notifica as Views (interfaces) sobre mudanças.

Por que as outras alternativas estão incorretas?

PadrãoFunção PrincipalPor que não se aplica aqui
StrategyPermite escolher algoritmos em tempo de execução.Não trata de notificação de mudanças de dados.
StateAltera o comportamento de um objeto quando seu estado interno muda.Foca no comportamento do próprio objeto, não na atualização de outros.
IteratorPermite percorrer elementos de uma coleção sem expor sua estrutura.Usado para navegação em listas, não para sincronização de estados.
MediatorCentraliza a comunicação complexa entre vários objetos.Embora envolva interação, não foca especificamente no mecanismo de notificação automática de mudanças.

Conclusão

A alternativa correta é a D, pois o padrão Observer é o projeto específico projetado para resolver problemas de sincronização entre uma fonte de dados e múltiplas visualizações que dependem dela.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.