Patrones de diseño y arquitectura

Patrones de diseño y arquitectura.
Información sobre la plantilla
MVC.JPG


Patrones de diseño y arquitectura. Los patrones de diseño expresan esquemas para definir estructuras de diseño (o sus relaciones) con las que construir sistemas de software. Los patrones de arquitectura expresan un esquema organizativo estructural fundamental para sistemas de software.

Patrones de diseño GRASP

Los patrones GRASP representan los principios básicos de la asignación de responsabilidades a objetos, expresados en forma de patrones. GRASP es el acrónimo para General Responsibility Assignment Software Patterns (Patrones Generales de Software para Asignar Responsabilidades).

Patrones básicos de asignación de responsabilidades

  • Experto: Se encarga de asignar una responsabilidad al experto en información, o sea, aquella clase que cuenta con la información necesaria para cumplir la responsabilidad.
  • Creador: Este patrón es el responsable de asignarle a la clase B la responsabilidad de crear una instancia de clase A. B es un creador de los objetos A.
  • Alta Cohesión: Asigna una responsabilidad de forma tal que la cohesión siga siendo alta.
  • Bajo Acoplamiento: Este patrón es el encargado de asignar una responsabilidad para conservar bajo acoplamiento.
  • Controlador: Asigna la responsabilidad del manejo de un mensaje de los eventos de un sistema a una clase.

Patrones de diseño GoF

Los patrones GoF (Gang of Four, en español Pandilla de los Cuatro, formada por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides) se clasifican en 3 categorías basadas en su propósito: creacionales, estructurales y de comportamiento.

  • Creacionales: Los patrones creacionales abstraen el proceso de creación de instancias y ocultan los detalles de cómo los objetos son creados o inicializados.
  • Estructurales: Los patrones estructurales se ocupan de cómo las clases y objetos se combinan para formar grandes estructuras y proporcionar nuevas funcionalidades.
  • Comportamiento: Los patrones de comportamiento están relacionadas con los algoritmos y la asignación de responsabilidades entre los objetos. Son utilizados para organizar, manejar y combinar comportamientos.

Patrón de arquitectura MVC

El patrón de arquitectura MVC, conocido por sus siglas en inglés Model View Controller, que significa Modelo Vista Controlador, permite realizar la programación multicapa, separando en tres componentes distintos los datos de una aplicación, la interfaz del usuario y la lógica de control. Este patrón se ve usualmente en aplicaciones web, donde la vista es la página Html y el código que provee de datos dinámicos a la página, el modelo es el sistema de gestión de base de datos y el controlador representa la lógica del negocio, que está formado por tres niveles:

  • Modelo: representa la información con la que trabaja la aplicación, o sea, su lógica de negocio.
  • Vista: convierte el modelo en una página web que facilita al usuario interactuar con ella.
  • Controlador: es el encargado de procesar las interacciones del usuario y ejecuta los cambios adecuados en el modelo o en la vista.La arquitectura MVC separa la lógica de negocio (el modelo) y la presentación (la vista), lo que permite un mantenimiento más sencillo de las aplicaciones. El controlador es el encargado de aislar al modelo y a la vista de los detalles del protocolo usado para las peticiones (HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstracción de la lógica referida a los datos, lo que permite que la vista y las acciones sean independientes de, por ejemplo, el tipo de gestor de bases de datos que la aplicación utiliza.

Fuentes

  • GAMMA, ERICH, y otros. 1995. Design Patterns. Elements of Reusable Object-Oriented Software. s.l. : Addison-Wesley, 1995.
  • LARMAN, CRAIG. 1999. UML Y PATRONES. Introducción al análisis y diseño orientado a objetos. s.l.: PRENTICE HAL, 1999. 970-17-0261-1.
  • ZANINOTTO, F. y POTENCIER, F. 2009. librosweb.es. Symfony 1.1, la guía definitiva. [En línea] 2009. http://www.librosweb.es/symfony_1_1.