Componentes de la arquitectura MVC

Veamos por partes que significan cada una de las capas del patrón MVC:

Modelo

Su principal objetivo es acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.

Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: "Respecto a los comentarios de un libro, sólo se mostrarán aquellos que hayan sido validados previamente por un administrador."

Su principal objetivo es el Acceso a los Datos (DAO). Al hablar de Datos normalmente pensamos en una Base de Datos o un Sistema de Gestión de Bases de Datos (SGBD): MySQL, PostgreSQL, Oracle, etc aunque también podríamos hablar de un fichero de texto, XML, webservice, RSS, etc.

Encapsula la Capa de Acceso a Datos de tal forma que se supone que nos podemos olvidar de que tipo de SGBD estamos usando.

Si estamos ante un modelo activo, éste notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, eventos devueltos vía AJAX, un fichero batch que actualiza los datos, un temporizador que desencadena una inserción, etc).

Vista

Es la capa de Presentación. Sirve para que el usuario pueda interactuar a través de los eventos o acciones con el Controlador y también para que pueda ver los resultados. Estos resultados serán aportados por el Controlador a través del Modelo.

Pueden dar el servicio de "actualización", para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes).

Controlador

Como su propio nombre indica controla lo que sucede a partir de que se haya producido una interacción por parte del usuario sobre la Vista.

La Vista le comunica los eventos al Controlador. El Controlador usa el Modelo para conseguir los datos o almacenarlos y por último, el Controlador vuelve a usar la Vista para comunicar al usuario que resultado provocó su acción.

results matching ""

    No results matching ""