Vamos a presentar, por curiosidad más que por otra cosa, una introducción a
la interface Observer y a la clase Observable que proporciona
Java. Vamos a implementar programas basados en la arquitectura
Modelo/Vista/Controlador, popularizada por el lenguaje Smalltalk.
Presentamos el problema: queremos diseñar un programa que visualice los datos
de una escena en tres dimensiones y lo pase a dos dimensiones. El programa debe
ser modular y permitir vistas múltiples y simultáneas de la misma escena. Cada
vista debe ser capaz de presentar la escena desde diferentes puntos de vista y
distintas condiciones de iluminación. Y, más importante todavía, si alguna
porción de una escena cambia, las vistas deben actualizarse automáticamente.
Otra versión del problema sería el de una hoja de cálculo, en donde tenemos una
serie de datos que queremos ver representados gráficamente, para ello
dispondremos de varias vistas con gráficos de línea, de barra o de tarta, y
deben actualizarse automáticamente según vayan cambiando los datos que figuran
en la hoja de cálculo.
Ninguno de los requerimientos anteriores presenta una carga de programación
imposible. Si el código que controla cada uno de los requerimientos ha de ser
escrito de nuevo, sin embargo, si que supondría un esfuerzo significativo.
Afortunadamente, el soporte para estas tareas ya esta proporcionado por la
librería de Java, a través del interface Observer y la clase
Observable. Las funcionalidades de las dos se han inspirado, en parte, en
la arquitectura Modelo/Vista/Controlador.
|
|
[Anterior] [Indice] [Siguiente] |