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] |