Arquitectura MVC - Parte 1

Codeicus
Codeicus
Nov 5 · 3 min read

Conceptos básicos


¿Qué es la arquitectura de Software?

Se entiende por arquitectura de software a una serie de reglas, estándares y guías generales, con base a las cuales se puedan resolver los problemas. Proporciona un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores y analistas del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación.

Tipos de arquitectura

Entre las arquitecturas mas comunes se encuentran:

  • Arquitectura de Capas
  • Cliente-Servidor
  • Peer to Peer
  • M-V-C

¿Qué es la Arquitectura 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 Modelo — Vista — Controlador.

Fortalezas MVC

  • Se obtiene un mayor desacoplamiento para poder modificar/cambiar componentes sin tener que cambiar todo el sistema.
  • Al realizar una separación en tres componentes se obtiene una separación de tareas bien definida.

Características de cada componente de esta Arquitectura

Modelo:

  • Contiene una representación de los datos que maneja el sistema
  • Define las reglas de negocio (que es lo que va a hacer el sistema)
  • Es el encargado de acceder a la capa de almacenamiento de datos

Vista:

  • Es la encargada de la presentación e interacción del sistema con el usuario

Controlador:

  • 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
  • Recibe los eventos de la entrada (un clic, un cambio en un campo de texto, etc)
  • Define la lógica de presentación, mediante manejadores de eventos

Interacción de los componentes

El flujo que habitualmente se sigue en este estilo de arquitectura es el siguiente:

  1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace, etc.)
  2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
  3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
  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 refleja los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Un objeto vista puede registrarse con el modelo y esperar a los cambios, pero aun así el modelo en sí mismo sigue sin saber nada de la vista. El controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. →Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista.
  5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

La reseña fue creada en base a la información compartida en la clase de “Arquitectura MVC conceptos básicos” .

Esta clase forma parte del programa “Observatorio de Tecnologías” de Codeicus*.


*🚀El Observatorio de Tecnologías Codeicus es un espacio de capacitación interna y colaborativa donde se busca construir bases sólidas sobre programación e investigar nuevas tecnologías.

Codeicus

Written by

Codeicus

Somos creadores de software. Amamos los desafíos, investigar cosas nuevas y compartir lo que sabemos.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade