Modelo - vista - controlador
• En MVC un elemento tiene tres partes: • un modelo que gestiona los datos • una vista que gestiona como se muestran esos datos • un controlador que determinaque modificaciones hay que hacer cuando se interacciona con el elemento. • Ventajas de MVC. • Es posible tener diferentes vistas para un mismo modelo (eg. representación de un conjunto de datos comouna tabla o como un diagrama de barras). • Es posible construir nuevas vistas sin necesidad de modificar el modelo subyacente. • Proporciona un mecanismo de configuración a componentes complejos muchosmás tratable que el puramente basado en eventos (el modelo puede verse como una representación estructurada del estado de la interacción).
Interfaces gráficas de usuario (GUI)Modelo-Vista-Controlador Modelo-Delegado
Java
1
Java
2
Relaciones en MVC
Swing: Modelo-Delegado
• En Swing se utiliza una adaptación de esta arquitectura de modo que la vista y el controlador seagrupan en el componente (Delegado) pero el modelo se mantiene separado permitiendo comportamientos muy sofisticados. • Por ejemplo, como los modelos gestionan y almacenan los datos existe la posibilidad decompartir un mismo modelo entre varios componentes. Cada uno de los componentes puede modificar el modelo y dicha modificación se reflejará de forma automática en el resto de los componentes quecomparten dicho modelo. • Estos modelos de datos son especialmente importantes en los componentes que trabajan con texto y en las listas. • El modelo se consulta y actualiza con métodos get / set (dondedepende del tipo de componte). El delegado se consulta/actualiza con los métodos getUI / setUI.
Modelo (datos)
Vista Modelo m Control c
Controlador
Modelo m Vista v
Interfaces clarosJava
3
Java
4
Swing: Modelo-Delegado
Ejemplo de modelo compartido
public class ModeloCompartido { JTextArea areaTexto1, areaTexto2; JFrame ventana; Document documento; public...
Regístrate para leer el documento completo.