En Troop Software Factory utilizamos MVC en nuestros desarrollos
Modelo Vista Controlador (MVC) es un estilo 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.
Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo.
- El Modelo que contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.
- La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los mecanismos interacción con éste.
- El Controlador, que actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.
En TroopSF queremos crear procesos que aseguren calidad en los programas que realizamos y esa calidad atiende a diversos parámetros que son deseables para todo desarrollo, como la estructuración de los programas o re-utilización del código, lo que debe influir positivamente en la facilidad de desarrollo y el mantenimiento.
Ventajas TroopSF MVC
- MAYOR ESCALABILIDAD | Podrá ir actualizando el diseño sin afectar la programación. Dividimos la programación del diseño, haciendo tu proyecto más escalable. En el futuro podrá cambiar el diseño sin modificar la programación.
- OPTIMIZACIÓN SEO | URL amigables, importantes para el SEO (Posicionamiento).
- OPTIMIZACIÓN DE CONSULTAS A LA BASE DE DATOS | Utilizando abstracción de datos, facilitando la realización de consultas
- MAYOR VELOCIDAD | Optimización de carga con control de CACHE. La velocidad es muy importante para el posicionamiento web, ya que buscadores como Google dan prioridad a las webs que tengan menor tiempo de descarga.
- CÓDIGO MÁS CLARO | En el desarrollo del proyecto trabajarán varios recursos, de modo que al seguir métodos comunes de programación, logramos que el código sea más entendible entre estos, pudiendo uno continuar el trabajo de otro.
- MEJOR RENDIMIENTO | La arquitectura MVC nos ayuda a controlar los recursos del servidor, evitando Bugs que puedan repercutir en el rendimiento.
Los 3 componentes
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). Un ejemplo de regla puede ser: “Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor”.
- 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 (por ejemplo, un fichero por lotes que actualiza los datos, un temporizador que desencadena una inserción, etc.).
El controlador es responsable de:
- Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
- Contiene reglas de gestión de eventos, del tipo “SI Evento Z, entonces Acción W”. Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al método “Actualizar()”. Una petición al modelo puede ser “Obtener_tiempo_de_entrega ( nueva_orden_de_venta )”.
Las vistas son responsables de:
- Recibir datos del modelo y los muestra al usuario.
- Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
- 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).