Os patróns arquitectónicos, ou patróns de arquitectura ofrecen solucións a problemas de arquitectura software na enxeñaría de software. Un patrón arquitectónico proporciona unha descrición dos elementos que compoñen un sistema e o tipo de relación que teñen, xunto cun conxunto de restricións sobre as súas responsabilidades e interaccións. O esquema de organización estrutural e de comportamento expresado por un patrón arquitectural presenta unha solución aplicable a diferentes sistemas, en relación normalmente aos seus requirimentos funcionais ou non funcionais mais abstractos. Dise a miúdo que os patróns de arquitectura son solucións organizacionais estritamente descritas e comunmente dispoñibles. En comparación cos patróns de deseño, os patróns arquitectónicos teñen un nivel de abstracción maior.
Aínda que un patrón arquitectónico comunica unha imaxe do sistema, non é unha arquitectura como tal. Un patrón arquitectónico é un concepto que captura elementos esenciais dunha arquitectura de software. Moitas arquitecturas diferentes poden implementar un mesmo patrón e polo tanto compartir as mesmas características.
Un dos aspectos máis importantes dos patróns arquitectónicos é que encarnan diferentes atributos de calidade. Por exemplo, algúns patróns representan solucións a problemas de rendemento e outros poden ser utilizados con éxito en sistemas de alta dispoñibilidade. Durante as fases mais temperás do deseño, a persoa ou persoas co rol de arquitectas de software escollen que patróns arquitectónicos ofrecen de mellor maneira as calidades desexadas para o sistema.
Exemplos de patróns arquitectónicos inclúen os seguintes:
- Patróns de acceso e configuración de servizos:
- Patróns de xestión de eventos:
- Patróns de concorrencia:
Dominios no deseño de patróns
- Control de acceso. Hai moitas situacións nas cales o acceso a datos, características e funcionalidade son limitadas á definición dos usuarios. Desde un punto de vista arquitectónico, acceder a determinadas partes do software debe ter un rigoroso control.
- Concorrencia. Moitas aplicacións deben manexar múltiples tarefas de forma que simule o paralelismo. Hai moitas formas de manexar esta concorrencia e cada unha delas pode ser presentada por un patrón arquitectónico diferente.
- Distribución. O problema da distribución dirixe o problema de forma en que os sistemas ou compoñentes se comunican con outros nun contorno distribuído. O patrón máis común para afrontar o problema é the broker. Actuando como un home no medio entre o compoñente cliente e o servidor. O cliente envía unha mesaxe ó broker e este encárgase de completar a conexión.
- Persistencia. Os datos persistentes son almacenados en bases de datos ou arquivos e poden ser lidos ou modificados por outros procesos máis adiante. Nos contornos orientados a obxectos isto vai máis alá e o que pode ser accedido ou modificable son as propiedades dos obxectos.
|
|