patrón arquitectónico


Un patrón arquitectónico es una solución general y reutilizable para un problema común en la arquitectura del software dentro de un contexto dado. [1] Los patrones arquitectónicos abordan varios problemas en la ingeniería de software , como las limitaciones de rendimiento del hardware de la computadora , la alta disponibilidad y la minimización de un riesgo comercial . Algunos patrones arquitectónicos se han implementado dentro de marcos de software .

El uso de la palabra "patrón" en la industria del software estuvo influenciado por conceptos similares a los expresados ​​en la arquitectura tradicional , como A Pattern Language (1977) de Christopher Alexander , que discutió la práctica en términos de establecer un léxico de patrones , incitando a los practicantes. de informática para contemplar su propio léxico de diseño.

El uso de esta metáfora dentro de la profesión de ingeniería de software se convirtió en un lugar común después de la publicación de Design Patterns (1994) por Erich Gamma , Richard Helm , Ralph Johnson y John Vlissides , ahora conocido comúnmente como "Gang of Four", coincidiendo con los primeros años. de la Internet pública , marcando el inicio de sistemas de software complejos que "devoran el mundo" [2] y la correspondiente necesidad de codificar el mundo del desarrollo de software en rápida expansión en el nivel más profundo posible, sin dejar de ser flexible y adaptable.

Aunque un patrón arquitectónico transmite una imagen de un sistema, no es una arquitectura. Un patrón arquitectónico es un concepto que resuelve y delinea algunos elementos cohesivos esenciales de una arquitectura de software. Innumerables arquitecturas diferentes pueden implementar el mismo patrón y compartir las características relacionadas. Los patrones a menudo se definen como "estrictamente descritos y comúnmente disponibles". [3] [4]

Siguiendo la arquitectura de construcción tradicional, un ' estilo arquitectónico de software ' es un método específico de construcción, caracterizado por las características que lo hacen notable.

Un estilo arquitectónico define: una familia de sistemas en términos de un patrón de organización estructural; un vocabulario de componentes y conectores, con restricciones sobre cómo se pueden combinar. [5]