Patron de Arquitectura y Framework

Para la elaboración del sistema se va a utilizar el patrón de arquitectura Modelo-Vista-Controlador y el Framework de desarrollo será CakePHP.

A continuación se describen brevemente.

Modelo Vista Controlador (MVC)

Es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. Su principal finalidad es mejorar la reusabilidad y que las modificaciones en las vistas impacten en menor medida en la lógica de negocio o de datos.

El Modelo es el responsable de:

  • 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).
  • Lleva un registro de las vistas y controladores del sistema.
  • Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo.

El Controlador es responsable de:

  • Recibir los eventos de entrada.
  • Contiene reglas de gestión de eventos, estas acciones pueden suponer peticiones al modelo o a las vistas.

Las Vistas son responsables de:

  • Recibir datos del modelo y los muestra al usuario.
  • Tienen un registro de su controlador asociado.
  • Pueden dar el servicio de "Actualización()", para que sea invocado por el controlador o por el modelo cuando es un modelo activo.

Porque MVC?

Porque es un patrón que convierte una aplicación en un paquete mantenible, modular y de desarrollo rápido. La modularidad y el diseño independiente permiten a los desarrolladores y diseñadores hacer cambios en alguna parte de la aplicación sin afectar a los demás.


CakePHP

Es un framework de desarrollo rápido, gratuito y de código abierto para PHP. Es una estructura base para los programadores con la finalidad de crear aplicaciones web.

CakePHP sigue el patrón MVC

flickr:2431831268
flickr:2431739169

Modelo 4+1

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License