2. Introduccion El patrn de arquitectura MVC (Modelo Vista
Controlador) es un patrn que define la organizacin independiente
del Modelo (Objetos de Negocio), la Vista (interfaz con el usuario
u otro sistema) y el Controlador (controlador del workflow de la
aplicacin). De esta forma, dividimos el sistema en tres capas
donde, como explicaremos ms adelante, tenemos la encapsulacin de
los datos, la interfaz o vista por otro y por ltimo la lgica
interna o controlador.
3. El patrn de arquitectura "MODELO VISTA CONTROLADOR", es una
filosofa de diseo de aplicaciones, compuesta por:
4. Modelo: Esta es la representacin especfica de la informacin
con la cual el sistema opera. El modelo se limita a lo relativo de
la vista y su controlador facilitando las presentaciones visuales
complejas. Vista: Es la presentacin del Modelo, en un formato
adecuado para interactuar, usualmente la interfaz de usuario. Puede
acceder al Modelo pero nunca cambiar su estado. Controlador:
Reacciona a la peticin del Cliente, ejecutando la accin adecuada y
creando el modelo pertinente.
5. Es importante saber que el controlador interpreta las
entradas del usuario (tanto teclado como el ratn), enviado el
mensaje de accin al modelo y a la vista para que se proceda con los
cambios que se consideren adecuados.
6. El flujo que sigue el control generalmente es el siguiente:
1. El usuario interacta con la interfaz de usuario de alguna forma
(por ejemplo, el usuario pulsa un botn, enlace, etc.). 2. El
controlador recibe (por parte de los objetos de la interfaz--vista)
la notificacin de la accin solicitada por el usuario. El
controlador gestiona el evento que llega, frecuentemente a travs de
un gestor de eventos (handler) o callback.
7. 3. El controlador accede al modelo, actualizndolo,
posiblemente modificndolo de forma adecuada a la accin solicitada
por el usuario. Los controladores complejos estn a menudo
estructurados usando un patrn de comando que encapsula las acciones
y simplifica su extensin.
8. 4. El controlador delega a los objetos de la vista la tarea
de desplegar la interfaz de usuario. La vista obtiene sus datos del
modelo para generar la interfaz apropiada para el usuario donde se
reflejan los cambios en el modelo. 5. La interfaz de usuario espera
nuevas interacciones del usuario, comenzando el ciclo
nuevamente....
9. Los sistemas informticos utilizan un Sistema de Gestin de
Base de Datos para gestionar los datos: en lneas generales del MVC
corresponde al modelo
10. Comunicacin El modelo, la vista y el controlador deben
comunicarse de una manera estable los unos con los otros, de manera
que sea coherente con las iteraciones que el usuario realizara.
Como es lgico la comunicacin entre la vista y el controlador es
bastante bsica pues estn diseados para operar juntos, pero los
modelos se comunican de una manera diferente, un poco ms sutil
11. Modelo pasivo El modelo no tiene ninguna responsabilidad
para comunicar los cambios a la vista porque ocurren solo por orden
del usuario, por lo que esta funcin la llevara a cabo el
controlador porque ser el que interprete las ordenes de este
usuario debido a que solo debe comunicar que algo ha cambiado. Por
esto, el modelo se encuentra en modo inconsciente y su participacin
en este caso es irrisoria.
12. Unin del modelo con la vista y el controlador Como no todos
los modelos pueden ser pasivos, necesitamos algo que comunique al
controlador y a la vista, por lo que en este caso, si que
necesitamos el modelo, ya que solo este puede llevar a cabo los
cambios necesarios al estado actual en el que estos se
encuentran.