Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estou com dúvida no curso de Design Patterns para bons programadores, no exercício do capítulo Executando diferentes ações e o Observer.

A pergunta feita foi: Ele é um padrão bastante comum em programação em geral. No mundo OO ele ficou com esse nome. Você já o viu alguma vez no Java?

Então, existe outro nome? Não encontrei exemplo dele no contexto programação em geral.

2 respostas

Oi Gilberto,

Você já programou em Swing? Swing era a maneira do Java de fazer aplicações Desktop.

Lá, pra vc registrar eventos, como um click do mouse e etc, vc usa um Observer!

Dá uma googlada que vc vai ver!

solução!

Oi Gilberto Trabalhei em uma empresa que desenvolvia um software para cinema onde havia um controle de displays (displays são aqueles "papelões propagandas" dos filmes e que ficam geralmente nas entradas dos cinemas, hall de entrada, etc..). Todo filme cadastrado tinha um display associado e era permitido o cadastro de mais displays por filme. Esse cadastro de display era associado a um estoque dos mesmos que, ao efetuar uma movimentação (entrada/saida), todas as programações tinham que ser atualizadas. Entenda por programação a relação "Display x Posição", ou seja, display X no local Y. Porém, como essa programação só é possível se houver item em estoque e é ai que entra o obeserver. A programação "observava" o estoque para saber se informava ou não um problema de programação. Você poderia dizer que esse padrão é desnecessário, já que, durante a programação eu poderia verificar o estoque e informar o problema na hora, porém, essa programação poderia ser feita bem antes e para várias semanas consecutivas e as alterações no estoque afetavam semanas já programadas. Desculpe se a resposta dá preguiça de ler rsrs, porém acredito que, se entender o cenário que se tem, fica mais fácil entender o porque da escolha desse padrão.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software