Na arquitetura de sistemas de mensageria, um dos padrões bas...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C (certo)
Vamos entender por que a alternativa correta é a certa e como isso se relaciona com os padrões de projeto.
A questão aborda dois padrões de projeto muito importantes no desenvolvimento de software: o Publish-Subscribe e o Observer. Ambos os padrões são frequentemente utilizados em arquiteturas de sistemas de mensageria, mas é essencial entender a conexão entre eles.
Publish-Subscribe é um padrão de design em que remetentes de mensagens (publicadores) enviam mensagens sem saber quem são os destinatários (assinantes). Os assinantes expressam interesse em uma ou mais classes de mensagens e recebem apenas as mensagens que são de interesse, sem saber quem são os publicadores. Esse padrão promove um baixo acoplamento entre os componentes do sistema.
O Observer é um padrão de projeto comportamental que define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente. Esse padrão é amplamente utilizado em sistemas onde mudanças em um objeto precisam ser refletidas em outros objetos.
Como podemos ver, ambos os padrões lidam com a notificação de mudanças e atualização de estados, promovendo um baixo acoplamento entre os componentes. Por isso, é correto afirmar que o Publish-Subscribe tem maior similaridade com o Observer do que com o padrão Iterator.
Agora, vamos entender o Iterator. Este é um padrão de design comportamental que permite acessar os elementos de uma coleção de objetos de forma sequencial sem expor sua representação subjacente. O Iterator é usado para percorrer coleções de dados como listas, arrays, ou outras estruturas de dados, e não possui relação com a notificação de mudanças ou atualização de estados.
Portanto, a justificativa para a alternativa correta ser certa é que o padrão Publish-Subscribe e o padrão Observer compartilham conceitos similares relacionados à notificação e atualização de estados, enquanto o padrão Iterator serve a um propósito completamente diferente.
Espero que esta explicação tenha ajudado a entender por que a alternativa correta é a certa. Caso tenha mais dúvidas sobre padrões de projeto ou qualquer outro assunto, sinta-se à vontade para perguntar!
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
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo