Patrón de Diseño por Capas y Modelo-Vista-Controlador (MVC) en Desarrollo de Software

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,8 KB

Patrón de Diseño por Capas en el Desarrollo de Software

Capa de Lógica de Aplicación

  • Implementa procesos de negocio identificados durante el análisis funcional.
  • Controla el acceso a los servicios de negocio desde otras capas.
  • Publica los servicios de negocio.
  • Invoca la capa de persistencia.
  • En un proyecto de software, se utiliza el patrón de capas para definir cómo organizar el modelo de diseño en capas, lo cual quiere decir que los componentes de una capa solo pueden hacer referencia a componentes en capas inmediatamente inferiores.
  • Este patrón es importante porque simplifica la comprensión y organización del desarrollo de sistemas complejos, reduciendo las dependencias de forma que las capas más bajas no son conscientes de ningún detalle o interfaz de las superiores.
  • El patrón de capas es soportado por el RUP (Proceso Unificado de Rational).

Elementos Adicionales en la Capa de Lógica

  • En algunas arquitecturas, se considera como parte integrante de esta capa aquellos sistemas externos que proporcionan información.
  • Es el eslabón necesario para componer un sistema distribuido a partir de otros sistemas distribuidos.
  • Denominar a esta capa como "capa de datos" no es del todo riguroso.

Diseños "Top-Down" y "Bottom-Up"

Diseño "Top-Down"

  • Definir la funcionalidad del sistema desde el punto de vista del cliente.
  • Ir propagando por las capas según las necesidades identificadas en las capas anteriores.

Ventajas

  • Desde el principio se tienen claras las funcionalidades y se dirige el desarrollo sobre ellas.

Desventajas

  • Solo es posible aplicarlo a sistemas desarrollados desde cero.
  • Los componentes, por lo general, son fuertemente acoplados, pues se usan en entornos homogéneos.

Diseño "Bottom-Up"

  • Suele surgir por necesidad más que por elección.
  • Muchos de los sistemas de hoy en día se basan en la integración de productos existentes (legacy systems: sistemas heredados).

Ventajas

  • Los componentes, por lo general, son poco acoplados y pueden ser reutilizados.

Desventajas

  • Viene impuesto por necesidades existentes.

El Patrón Modelo-Vista-Controlador (MVC)

  • Modelo-Vista-Controlador.
  • Un modelo.
  • Varias vistas.
  • Varios controladores.

Las vistas y los controladores suelen estar muy relacionados.

Los controladores tratan los eventos que se producen en la interfaz gráfica (vista).

  • Esta separación de aspectos de una aplicación da mucha flexibilidad al desarrollador.

Flujo del Patrón MVC

  1. El usuario realiza una acción en la interfaz.
  2. El controlador trata el evento de entrada.
Previamente se ha registrado.
El controlador notifica al modelo la acción del usuario, lo que puede implicar un cambio del estado del modelo (si no es una mera consulta). Se genera una nueva vista. La vista toma los datos del modelo.
El modelo no tiene conocimiento directo de la vista.
La interfaz de usuario espera otra interacción del usuario, que comenzará otro nuevo ciclo.

Componentes del Patrón MVC

Modelo

  • La información almacenada en una base de datos o en XML.
  • Junto con las reglas de negocio que transforman esa información teniendo en cuenta las acciones de los usuarios.

Vista

  • La página HTML.

Controlador

  • Código que obtiene datos dinámicamente y genera el contenido HTML.

Entradas relacionadas: