Fundamentos de Arquitectura de Software: Patrones MVC, Fachada y Modelos de Capas
Clasificado en Informática
Escrito el en
español con un tamaño de 5,1 KB
Patrones de Arquitectura y Estructuras de Capas en Software
Modelo Vista Controlador (MVC)
El 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 negocio en tres componentes distintos:
- Modelo: Es la representación específica de la información con la cual el sistema opera.
- Vista: Presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.
- Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al modelo y, probablemente, a la vista.
Ventajas del MVC
- El Modelo es independiente de la representación de la salida y del comportamiento de la entrada.
- Puede haber múltiples vistas para un mismo modelo.
- Permite cambios independientes en la interfaz o en la lógica.
Inconvenientes del MVC
- Complejidad.
Patrón Fachada (Facade)
El patrón Fachada proporciona una interfaz unificada para un conjunto de interfaces de un subsistema.
- Define una interfaz de alto nivel para que el subsistema sea más fácil de utilizar.
- Cuando hablamos de subsistemas, nos referimos, en general, a los subsistemas de diseño.
- Los subsistemas de diseño se plasman como paquetes.
Ventajas de Fachada
- Oculta a los clientes los componentes del subsistema, reduciendo así el número de objetos con los que tratan los clientes. De esta forma, el subsistema es más fácil de utilizar.
- Promueve un débil acoplamiento entre el subsistema y los clientes.
- No impide que las aplicaciones utilicen las clases del subsistema en caso necesario.
Inconvenientes de Fachada
- Al incluir nuevas operaciones en el subsistema, hay que actualizar la fachada.
Arquitecturas Basadas en Capas
Arquitectura de Una Capa
Ventajas
- Sencillez conceptual.
Inconvenientes
- No se puede modificar ni la interfaz de usuario, ni la lógica del negocio, ni la representación de los datos sin afectar a las demás capas.
- Complicación fáctica.
Arquitectura de Dos Capas
La arquitectura de dos capas diferencia entre la capa de presentación y el resto del sistema, pero no diferencia la lógica de negocio de la integración.
Ventajas
- Permite cambios en la interfaz de usuario o en el resto del sistema sin interferencias mutuas.
- Simplicidad fáctica.
Inconvenientes
- Mayor complicación arquitectónica que la arquitectura de una capa.
- No se puede modificar la lógica del negocio o la representación de los datos sin interferencias mutuas.
Aunque no es estrictamente necesario, suele utilizarse el patrón MVC.
Arquitectura Multicapa (N-Capas)
La arquitectura multicapa considera, al menos, tres capas fundamentales:
- La capa de presentación: Encapsula toda la lógica de presentación necesaria para dar servicio a los clientes que acceden al sistema.
- La capa de negocio: Proporciona los servicios del sistema (la lógica central).
- La capa de integración: Es responsable de la comunicación con recursos y sistemas externos.
Modelo Conceptual de Cinco Capas
En realidad, la arquitectura puede conceptualizarse como de cinco capas, ya que incluye las capas de clientes y recursos:
- La capa de clientes: Representa a todos los dispositivos o clientes del sistema que acceden al mismo. Se sitúa sobre la capa de presentación.
- La capa de recursos: Contiene los datos del negocio y recursos externos. Se sitúa bajo la capa de integración.
Ventajas de la Arquitectura Multicapa
- Integración y reusabilidad.
- Encapsulación.
- Distribución.
- Particionamiento.
- Escalabilidad.
- Mejora del rendimiento.
- Mejora de la fiabilidad.
Inconvenientes de la Arquitectura Multicapa
- Posible pérdida de rendimiento y escalabilidad (si no está bien implementada).
- Riesgos de seguridad.
- Gestión de componentes.