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

Observers e event/listeners

Pessoal, boa noite,

qual a diferença entre observers e event/listeners?

3 respostas

Olá, Gabriel.

São quase sinônimos. :-)

Observer é um padrão de projeto catalogado pela GoF (Gang of Four) enquanto Event Listeners são classes que ouvem eventos independente de como isso seja implementado. Na grande maioria das vezes Event Listeners são implementados usando o padrão Observer.

Mas um Event Listener de JS, por exemplo, não é uma implementação fiel do padrão, entende?

Vinicius, blz?

Entendo a diferença no JS. Sobre o observer, eu vou sempre precisar colocar a regra de negócio no Subject?

E um caso onde temos um ActiveRecord ou Entidade no ORM e tem os métodos onBeforeInsert, onBeforeUpdate, onAfterInsert, onAfterDelete, eles seriam um tipo de Observers?

solução!

No padrão original de observer, via de regra, sim, a lógica fica no subject. Mas você pode alterar isso sem problemas, adaptar pra sua necessidade.

Já esses eventos de persistência por si só não são uma implementação do padrão não. Por baixo dos panos o ORM pode usar o padrão, mas essa parte "externa" que nós codificamos nã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