Na arquitetura de sistemas de mensageria, um dos padrões bas...

Próximas questões
Com base no mesmo assunto
Q48311 Arquitetura de Software
Acerca de linhas de produtos e de componentes de software, julgue os itens subsequentes.

Na arquitetura de sistemas de mensageria, um dos padrões bastante utilizados é o Publish-Subscribe, que possui maior similaridade com o padrão Observer que com o padrão Iterator.
Alternativas

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

O padrão Publish-Subscribe (Produtor-Consumidor) consiste em um processo no qual o produtor produz e publica um fluxo de dados, e, logo em seguira, o consumir detecta e remove (consome) esta informação do respectivo local publicado. Existe uma relação de dependência.
 
O padrão Observer tem maior similaridade devido ser um padrão de projeto que define uma dependência um para muitos entre objetos, de maneira que quando um objeto muda de estado, todos os seus outros dependentes são notificados e atualizados automaticamente.
 
O padrão de projeto Iterator serve somente para acessar sequêncialmente os elementos de um objeto agregado sem expor a sua representação subjacente.

 
Fonte: 
Gamma, E. et al. Padrões de Projeto. Soluções reutilizáveis de software orientado a objetos.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo