-
Notifications
You must be signed in to change notification settings - Fork 18
O Padrão Observer
O observer consiste em um padrão de projeto de software que determina uma dependência entre objetos. Nesse sentido, quando um objeto modifica o seu estado, aqueles que dependem dele são atualizados de maneira automática. Além disso, esse padrão é também chamado Event Generator, dependents ou Publisher-Subscriber.
Na figura abaixo, é possível visualizar a dinâmica do padrão observer.
Nessa ilustração existem dois personagens, o observer e o observable. O comportamento nesse tipo de padrão se dá de maneira que quando são feitas modificações no observer, o observable é automaticamente notificado e atualizado. É preciso salientar que o padrão busca reduzir o acoplamento das funções ao mesmo tempo que facilita a comunicação entre elas.
Com relação ao funcionamento, têm-se que o sujeito mantém uma lista de observadores por meio dos quais exercerá a responsabilidade de atribuir, separar ou desligar e notificar os observadores após qualquer mudança. A partir dessa informação, fica a cargo do observador decidir que ação tomar.
Quando se trata de Ruby on Rails, existe o módulo Observable na biblioteca padrão do Ruby que se configura como uma biblioteca fácil de usar. Para iniciar a experiência, é preciso ter um cenário, um exemplo seria um aplicativo para acompanhar a quilometragem do carro e avisar quando existir a necessidade de serviço. Um exemplo de uma classe de notificadores encontra-se abaixo:
- class Notifier
- def update()
- end
- end
- Folha de Estilo
- Esquema de Cores
- Como Usar o Docker
- O Padrão Adapter
- Links e Comandos Úteis
- O Padrão Observer
- Product Backlog
- Quadro Kanban
- Priorização das Histórias
- Sistema de Pontuação
- EVM Agile
- Roadmap
- Post Mortem - Release II
- Termo de Abertura do Projeto
- Plano de Gerenciamento do Projeto
- Plano de Gerenciamento do Escopo
- Plano de Gerenciamento de Requisitos
- Plano de Gerenciamento de Tempo
- Plano de Gerenciamento das Partes Interessadas
- Plano de Gerenciamento de Comunicação
- Plano de Gerenciamento das Aquisições
- Plano de Gerenciamento de Recursos Humanos
- Plano de Gerenciamento dos Riscos
- Plano de Gerenciamento de Configuração de Software
- Plano de Gerenciamento da Qualidade
- Plano de Gerenciamento dos Custos