#7 DP: Observer
O que é o Padrão Observer? O Observer é um padrão de projeto comportamental que define uma relação de dependência entre objetos, onde um objeto (o sujeito) notifica automaticamente outros objetos (os observadores) sempre que seu estado muda. Ele é muito útil quando várias partes do sistema precisam reagir a mudanças em um mesmo ponto. Esse padrão promove o desacoplamento entre quem emite o evento e quem reage a ele, permitindo que novos observadores sejam adicionados ou removidos em tempo de execução, sem alterar o sujeito. Em resumo, o Observer estabelece um mecanismo de notificação automática, garantindo que todos os interessados estejam atualizados sempre que algo importante acontece. Exemplo: As classes que devem reagir a mudanças se inscrevem no sujeito responsável por emitir essas mudanças. A classe principal recebe os observadores via o método addObserver(), registrando as implementações interessadas em ser notificadas. O método newStockData() executa a ação principal e, em seguida, notifica todos os observadores inscritos, permitindo que eles executem suas responsabilidades de forma independente. Assim caso surja uma demanda de adicionar uma nova açãoao newStockData, você não precisaria modificar a classe

O que é o Padrão Observer?
O Observer é um padrão de projeto comportamental que define uma relação de dependência entre objetos, onde um objeto (o sujeito) notifica automaticamente outros objetos (os observadores) sempre que seu estado muda. Ele é muito útil quando várias partes do sistema precisam reagir a mudanças em um mesmo ponto.
Esse padrão promove o desacoplamento entre quem emite o evento e quem reage a ele, permitindo que novos observadores sejam adicionados ou removidos em tempo de execução, sem alterar o sujeito.
Em resumo, o Observer estabelece um mecanismo de notificação automática, garantindo que todos os interessados estejam atualizados sempre que algo importante acontece.
Exemplo:
As classes que devem reagir a mudanças se inscrevem no sujeito responsável por emitir essas mudanças.
A classe principal recebe os observadores via o método addObserver(), registrando as implementações interessadas em ser notificadas.
O método newStockData() executa a ação principal e, em seguida, notifica todos os observadores inscritos, permitindo que eles executem suas responsabilidades de forma independente.
Assim caso surja uma demanda de adicionar uma nova açãoao newStockData, você não precisaria modificar a classe