El lenguaje de programación Java proporciona soporte para la arquitectura MVC
mediante dos clases:
Estas dos clases se pueden utilizar para muchas más cosas que la
implementación de la arquitectura MVC. Serán útiles en cualquier sistema en que
se necesite que algunos objetos sean notificados cuando ocurran cambios en otros
objetos.
El Modelo es un subtipo de Observable y la Vista es un subtipo de
Observer. Estas dos clases manejan adecuadamente la función de
notificación de cambios que necesita la arquitectura MVC. Proporcionan el
mecanismo por el cual las Vistas pueden ser notificadas automáticamente de los
cambios producidos en el Modelo. Referencias al objeto Modelo tanto en el
Controlador como en la Vista permiten acceder a los datos de ese objeto
Modelo.
Funciones Observer y Observable
Vamos a enumerar las funciones que intervienen en el control de Observador y
Observable:
public void update( Observableobs,Object obj )
Llamada cuando se produce un cambio en el estado del objeto Observable
public void addObserver( Observer obs )
Añade un observador a la lista interna de observadores
public void deleteObserver( Observer obs )
Borra un observador de la lista interna de observadores
public void deleteObservers()
Borra todos los observadores de la lista interna
public int countObserver()
Devuelve el número de observadores en la lista interna
protected void setChanged()
Levanta el flag interno que indica que el Observable ha cambiado de estado
protected void clearChanged()
Baja el flag interno que indica que el Observable ha cambiado de estado
protected boolean hasChanged()
Devuelve un valor booleano indicando si el Observable ha cambiado de estado
public void notifyObservers()
Comprueba el flag interno para ver si el Observable ha cambiado de estado y lo notifica a todos los observadores
public void notifyObservers( Object obj )
Comprueba el flag interno para ver si el Observable ha cambiado de estado y lo notifica a todos los observadores. Les pasa el objeto especificado en la llamada para que lo usen los observadores en su método notify().
|
|
[Anterior] [Indice] [Siguiente] |