← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

Os padrões de projeto fornecem soluções para problemas recorrentes no desenvolvimento de sistemas. Maria está desenvolvendo o sistema ComprasWeb e precisa resolver um problema comum de sistemas Web que é a recepção assíncrona de dados, onde deve ocorrer a atualização dos dados na interface do usuário quando ocorre a resposta do servidor, sem que haja o bloqueio das demais funções da interface. Para tratar o problema do ComprasWeb, Maria deve usar o padrão de projeto:

Gabarito: A

Quando um sistema Web precisa receber dados de forma assíncrona e, ao mesmo tempo, atualizar a interface sem travar o resto da aplicação, a ideia central é avisar quem está interessado sempre que algo muda. É exatamente aí que entra o padrão Observer: um objeto "observado" muda de estado e notifica automaticamente os observadores cadastrados. Assim, a tela pode reagir à resposta do servidor sem bloquear as demais funções da interface. Pense no cenário como uma central de avisos: o servidor responde, o sistema dispara a notificação e a interface se atualiza sozinha. Isso é bem comum em aplicações com eventos, atualização de tela, notificações e integrações em tempo real. O padrão resolve a dependência entre quem gera a informação e quem precisa dela, deixando a comunicação mais organizada. Por isso o gabarito é a alternativa A. Em termos doutrinários, o Observer é um dos padrões clássicos do catálogo GoF e é justamente o mais associado ao mecanismo de publicação e assinatura, em que mudanças em um objeto são propagadas para vários interessados. Não há aqui uma regra legal específica, porque estamos no campo de engenharia de software e padrões de projeto. As outras alternativas fogem do problema: algumas tratam de construção de objetos, outras de acesso a dados ou de encadeamento de responsabilidades. O ponto-chave da questão é a atualização automática da interface quando chega a resposta assíncrona, sem bloqueio da tela. Isso é cara de Observer, sem maquiagem.

Continue treinando

Questões relacionadas