Capas Capa Vista

Diagrama de Capas


El diagrama de capas de G, estaba basado en el modelo-vista-controlador (MVC), pero se redefine de acuerdo a las necesidad de incorporar un motor de templates, un instalador de módulos y una POO, ese el porque de las nuevas capas y las nuevas comunicaciones, en base a esto crea un nuevo patrón de arquitectura llamado G.

Las 7 capas del patrón G son:

diagrama-g05259.png

- Capa controlador (Controller): Esta capa contiene todo el control de la lógica del sistema, modifica la información para entregarla correctamente a las capas adyacentes, es como una especie de intermediario del sistema. Esta capa solo contiene código php y en ella se efectúan varias operaciones como llamadas a templates, cálculos, inclusiones de archivos, entre otros.

- Capa vista (View):
La capa vista se caracteriza por manejar toda la parte visual de la aplicación (imágenes, textos, vídeos, fondos, etc). Esta capa solo puede contener lenguaje html y sintaxis de smarty para html (un pseudolenguaje propio de este motor de plantillas). (Todos los archivos de esta capa se encuentran en la ruta work/templates/)

- Capa motor de templates (Template Engine): esta capa está compuesta de la librería de smarty que se encuentra en la ruta: work/modules/m_smarty/* todos los controladores cuentan con una variable llamada ‘engine’ que hace referencia a esta capa y que permite utilizar todas las funciones de smarty y hacer la conexión con las vistas.

- Capa de clases (Classes): Esta capa contiene el equivalente a la base de datos pero en forma objetual, guarda y recoge la información de los objetos, sus atributos, sus funciones, sus métodos, entre otros. (Todos los archivos de esta capa se encuentran en la ruta work/classes/)

- Capa gestor de base de datos (Database manager): esta capa maneja el comportamiento de los datos de la aplicación que se encuentran almacenados en una base de datos. Todo lo que tenga que ver con consultas, cambios, inserciones, borrados sobre o desde la base de datos se realiza en esta capa, aquí se encuentra todo el código de base de datos generalmente (sql) y los datos de conexión a la base de datos. (Esta capa la compone el archivo: work/modules/db.php)

- Capa de mapeo objeto-relacional (ORM): el propósito de esta capa es que cuando se desee mostrar o modificar información de la base de datos, el ORM convierta esta información relacional a una forma objetual, todos los controladores poseen una variable llamada ‘orm’ que es un objeto de esta clase y que permite usar todas las funciones de dicha clase; esta capa es la única que se puede comunicar con el gestor de bases de datos (db). (Esta capa la compone el archivo: work/modules/orm.php)

- Capa de módulos (Modules): esta capa contiene archivos o módulos que se pueden integrar a la aplicación (como calendarios, archivos de conversión a pdf, archivos de exportación a Excel, archivos de georeferenciación, entre otros) y que pueden ser incluidos por los controladores. El programador puede crear sus propios módulos, o descargarlos de la comunidad virtual. (mas adelante se detallara).

Las capas señaladas en azul, hacen referencia a que el programador no necesita crear nuevos archivos de ese estilo, ni modificarlos, esas capas son módulos ya pre-diseñados que facilitan la programación. En el caso de la capa de motor de templates es toda la librería de Smarty que ya trae agregada el framework; y en el caso de la capa de mapeo objeto-relacional es un archivo orm.php que fue creado por los mismos desarrolladores del framework.
Capas Capa Vista