Está en la página 1de 15

PATRONES DE

ARQUITECTURA

Ing. Josué Obed Veizaga Gonzales


UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO

jveizaga@cotas.com.bo
Estilos de arquitectura
 ¿ Que un estilo?
 es un concepto descriptivo que define una forma de
articulación u organización arquitectónica. El conjunto de
los estilos cataloga las formas básicas posibles de
estructuras de software, mientras que las formas
complejas se articulan mediante composición de los
estilos fundamentales.
 Un estilo define:
 Vocabulario de tipos de componentes y conectores.
 Restricciones de combinación.
 Uno o más modelos semánticos para determinar
propiedades del todo a partir de las partes.
Estilos de arquitectura
 Características de los estilos
 Sirven para sintetizar estructuras de soluciones.
 Pocos estilos abstractos encapsulan una enorme variedad
de configuraciones concretas.
 Definen los patrones posibles de las aplicaciones.
 Permiten evaluar arquitecturas alternativas con ventajas y
desventajas conocidas ante diferentes conjuntos de
requerimientos no funcionales.
Estilos Arquitectónicos
Estilos de Flujo de Datos Estilos de Código Móvil
• Tubería y filtros • Arquitectura de Máquinas
Virtuales
Estilos Centrados en Datos
Estilos Peer-to-Peer
• Arquitecturas de Pizarra o • Arquitecturas Basadas en
Repositorio Eventos
Estilos de Llamada y Retorno • Arquitecturas Orientadas a
Servicios
• Model-View-Controller (MVC)
• Arquitecturas Basadas en
• Arquitecturas en Capas Recursos
• Arquitecturas Orientadas a
Objetos
• Arquitecturas Basadas en
Componentes
ESTILO DE FLUJO DE DATOS: Tubos y
Filtros

El estilo de arquitectura de tubos y filtros


(Pipe&Filters) provee una estructura para procesar
flujos de datos. Cada paso de procesamiento se
encapsula en un filtro. Los datos se pasan usando los
tubos entre filtros adyacentes. Recombinando los
filtros se puede construir distintas familias de
sistemas relacionados.

5
ESTILO DE FLUJO DE DATOS: Tubos y
Filtros
ESTILO DE FLUJO DE DATOS: Tubos y
Filtros

Los Filtros (Filters) son los encargados de realizar


todas las operaciones con las entradas que reciben
para transformarlos en determinadas salidas

Las Tuberías (Pipes) son las encargadas de llevar el


resultado que de un filtro hacia otro para que siga el
proceso de transformación y se obtenga la salida final
Ejemplo: Compilador
texto ASCII (programa)
Análisis
Lexicográfico
secuencia de tokens
Análisis
Sintáctico/Parsing
árbol sintáctico abstracto
Análisis
Semántico
árbol sintáctico aumentado
Generación de
Código Intermedio
Codigo X
Optimización

Codigo X optimizado

8
ESTILO DE FLUJO DE DATOS: Tubos y
Filtros
VENTAJAS
•Facilita la reutilización de transformaciones.

•Es intuitivo.

•Fácil agregar / quitar transformaciones.

•Relativamente sencillo de implementar, a nivel


concurrente o secuencial.

•Permite entender la E/S como composición de filtros

•Reutilización: dos filtros cualesquiera pueden unirse


•Mantenimiento: creación y reemplazo de filtros
ESTILO DE FLUJO DE DATOS: Tubos y
Filtros
DESVENTAJAS

•Requiere algún formato común para transferir los


datos a través del pipeline.

•Es difícil soportar interacciones basadas en eventos.

•No muy útil para sistemas interactivos.


ESTILO CENTRADO EN DATOS: Repositorio

 Las componentes del sistema deben compartir


información para trabajar efectivamente:
• toda la información está contenida en una base de datos central,
el repositorio;

 En general los sistemas que manejan grandes cantidades


de información se estructuran con un repositorio central:
• sistemas de información,
• sistemas de comando y control,
• sistemas CAD.

11
ESTILO CENTRADO EN DATOS: Repositorio
 Contexto:
• existe una gran cantidad de
información que varias
componentes deben poder
acceder.
Traductor Editor Generador
 Problema: del Diseño del Diseño de Código

• componentes diversas acceden


información compartida en
forma asincrónica. Repositorio
del Proyecto
 Solución:
• existe un repositorio de datos
donde se almacena el
Analizador Generador Editor de
conocimiento compartido por del Diseño de Reportes Programas
todas las componentes.

Herramienta CASE
12
ESTILO CENTRADO EN DATOS: Repositorio
VENTAJAS
 Forma eficiente de compartir grandes cantidades de
información.
 No hay necesidad de transmitir información entre las
distintas componentes del sistema.
 Distintas componentes no necesitan saber qué datos
producen o consumen otras componentes.
 Las actividades de respaldo, seguridad, control de
acceso y recuperación de errores están centralizadas.
 El formato de los datos es visible, de modo que es
posible desarrollar nuevas componentes con ese
formato. 13
ESTILO CENTRADO EN DATOS: Repositorio

DESVENTAJAS
 Todos los componentes deben  Modificar el formato de los
acordar un formato para los datos del repositorio implica
datos del repositorio. cambios en todas las
componentes.
 Este formato deberá ser una
decisión de compromiso entre  Distintas componentes
las necesidades de los pueden tener distintas
distintos componentes. necesidades de servicios de
apoyo.
 El rendimiento del sistema es
probablemente bajo.  Es difícil distribuir el
repositorio sobre una serie
 Nuevas componentes con
de máquinas.
distinta representación de
datos son difícilmente
integradas al sistema. 14
¿Preguntas?

http://unserdigital.blogspot.com
Jveizaga@catedradigital.info

También podría gustarte