Proposito | define dependencia de uno a muchos objetos, de forma que cuando un objeto cambie de estado se notifique y se actualicen automáticamente todos los objetos que dependen de el. |
Lo aplicamos cuando | - Una abstracción tiene dos aspectos y uno depende del otro
- Cuando un cambio en un objeto requiere cambiar otros y no sabe cuantos objetos necesitan cambiarse
- Cuando un objeto debería ser capaz de notificar a otros sin hacer suposiciones sobre quienes son dichos objetos. |
Pros | - Permite modificar objetos y observadores independientemente
- Acoplamiento abstracto entre sujeto y observador
- Capacidad de comunicación mediante difusión |
Cons | - Actualizaciones inesperadas
- Protocolo de actualización simple |
Motivacion | si se divide un sistema en una colección de clases cooperantes se deben mantener la consistencia entre estados relacionados. Esta consistencia no debe pagarse con un fuerte acoplamiento. |