Está en la página 1de 11

PATRÓN DE

PROTOTIPADO
OBSERVER
EDGAR FERNANDO ESTRADA ARTEAGA
MATEO FABIÁN ÁLVAREZ ERASO
SANTIAGO ORTEGA RODRÍGUEZ.
DEFINICIONES BASICAS

• El patrón de prototipado Observer o de Diseño permite relacionar diferentes


objetos entre si en torno a uno principal, para que así cada vez que cambie su
estado, los demás así mismo cambiaran de forma automática.

• El patrón de prototipado de este tipo se


compone de un objeto observable u
Observado (SujetoConcreto) y objetos
observadores (ObservadorConcreto) en
donde el objeto observable puede tener
uno o mas observadores, el
ObservadorConcreto implementa una
interfaz observer que es propia de java la
cual permite informar sobre los cambios
en los objetos observables mediante un
método llamado update().
APLICABILIDAD

• Cuando una abstracción tiene dos aspectos, y del otro. Encapsular los aspectos en
objetos distintos permite cambiarlos y reutilizarlos.

• Cuando uno cambiar un objeto implica cambiar otros, pero no sabemos exactamente
cuántos hay que cambiar

• Cuando un objeto debe ser capaz de notificar algo a otros sin hacer suposiciones sobre
quiénes son dichos objetos. Esto es, cuando se quiere bajo acoplamiento.
CARACTERÍSTICAS

• No hay que estar monitorizando un objeto en búsqueda de cambios, se hace la


notificación cuando un objeto cambia.

• Permite agregar nuevos observadores para proporcionar otro tipo de funcionalidad sin
cambiar el objeto observador.

• Bajo acoplamiento entre observable y observador, un cambio en el observable u


observador no afecta al otro.
VENTAJAS

• Permite modificar las clases subjuect y las observers independientemente. Se


pueden rehusar clases subjects sin rehusar sus clases observers.
• Permite añadir nuevas clases observers a una clase subject que ya tenía
asociadas unas clases observers sin modificar la clase subject o alguno de
esas clases observers que ya tenia.
• Permite comunicación broadcast, es decir, un objeto subject que envía su
notificación a todos los objetos que lo estén observando sin enviárselo a
ningún observer en concreto en donde el mensaje no tiene un destinatario
concreto. Todos los observers reciben el mensaje y deciden si hacerse caso o
ignorarlo.
DESVENTAJAS
• El protocolo de comunicación entre objetos subject y sus objetos observers no
son tan eficientes ya que siempre es que se ha producido algún cambio en el
estado del objeto subject, el mensaje no indica el destinatario y tampoco
indica que es lo que ha cambiado en el objeto subject.
• Aumenta el número de clases necesarias para implementar la aplicación y
disminuye la comprensión de esta.

• Los observers dependen del subject al que observan, pues lo conocen (hacen
referencia a él), por lo que cambios en la clase del subject pueden provocar
cambios en las de los observer.
EJEMPLO
BIBLIOGRAFÍA

• http://codejavu.blogspot.com/2013/06/ejemplo-patron-observer.html
• https://slideplayer.es/slide/3367977/
• https://www.youtube.com/watch?v=vZr_5SK9Nps
• https://picodotdev.github.io/blog-bitix/2015/10/el-patron-de-diseno-
observer-y-una-forma-de-implementarlo-en-java/
• https://informaticapc.com/patrones-de-diseno/observer.php

También podría gustarte