El patrón de diseño Observer define un mecanismo de suscripción al estado de un objeto para notificar a sus suscriptores cuando sucede un evento.

Esto es útil cuando los cambios a un objeto requieren cambiar otros objetos, pero no se quiere asumir cuáles. También sirve cuando un lado de una abstracción depende del otro lado.