Patron Observer

Introduccion:

Define una dependencia de uno a muchos entre objetos, de forma que cuando un objeto cambia de estado se notifica y actualizan automaticamente todos los objetos.

Nombre del Patron:
Observer (Observador, Publishe-Suscriptor).

Clasificacion del Patron:
Patron de Comportamiento.

Intencion:

Proporcionar a los componentes una forma flexible de enviar mensajes de difusion a los receptores interesados.

Motivacion:

Muchas veces un efecto lateral de partir un sistema en una colección de objetos relacionados es que necesitamos mantener la consistencia entre objetos relacionados.

Estructura:


Participantes:

Subject: Conoce a sus observadores, Proporciona una Interfaz para que se suscriban los objetos Observer.

Observer: Define una interfaz para actualizar los objetos que deben ser notificados de cambios en el objeto Subject.

ConcreteSubject: Guarda el estado de interes para los objetos ConcreteObserver, Envia una notificacion a sus observadores cuando cambia su estado.

ConcreteObserver: Mantiene una referencia a un objeto ConcreteSubject, Guarda el estado que deberia permanecer sincronizado con el objeto observado, Implementa la interfaz Observer para mantener su estado consistente con el objeto observado.

Colaboraciones:

El objeto observado notifica a sus observadores cada vez que ocurre un cambio.
Después de ser informado de un cambio en el objeto observado, cada observador concreto puede pedirle la información que necesita para reconciliar su estado con el de aquél

No hay comentarios:

Publicar un comentario

Hora Bogotá Colombia