Patrones de diseño

Ing. Lourdes Arlin Campoy Medrano ?

Unidad II Patrones arquitectónicos
2.1 2.2 Introducción a los patrones arquitectónicos. Patrones estructurales

2.2.1 Capas 2.2.2 Tubos y filtros 2.3
2.4 2.5

Patrones para sistemas distribuidos
Patrones para sistemas interactivos Patrones para sistemas adaptables

Fuentes de Información
1.
2.

Somerville, I. Software Engineering.Addison-Wesley, 2004.
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, S. Pattern-

Oriented Software Architecture: A System of Patterns. Wiley, 1996.
3.

Gamma, E., Helm, R., Johnson, R., Vlissides, J. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

4.

Fayad, M. E., Schmidt, D. C. Object-oriented application frameworks. Communications of the ACM,Vol. 42, No. 10, 1997.

5.

Jonson, R. E. Frameworks = components + patterns. Communications of
the ACM, Vol. 42, No. 10, 1997.

6.

Mattson, M., Bosh, J., Fayad, M. E. Framework integration: problems, causes, solutions. Communcations of the ACM, Vol. 42, No. 10, 1997.

Introducción a Patrones Arquitectónicos

Patrones Arquitectonicos
? Las arquitecturas de software sonconstruidas

bajo un cierto conjunto de principios con una estructura ya terminada.

? A los principios de construccion de software se les conoce como patrones arquitectonicos.
? Son plantillas para ciertas arquitecturas de

software en concreto.

Características de un patrón arquitectónico:
? Expresa

un esquemas de organización estructural fundamental para los sistemas de software. ? Proveeun conjunto predefinido de subsistemas. ? Especifica sus responsabilidades e incluyen reglas y guías para organizar las relaciones entre ellas. ? Ayuda a especificar la estructura fundamental de una aplicación.

Características…
? Son los patrones de mas alto nivel en un

sistema de patrones.

? Todas las actividades de desarrollo siguientes

son gobernadas por esta estructura.

?Cada patrón arquitectónico ayuda a lograr

propiedades del sistema globales y específicas.

Características…
? Los patrones que apoyan propiedades similares se

agrupan como una categoría.

? La selección de un patrón arquitectónico debe estar

influenciada por las propiedades generales de la aplicación específica.

? La mayoría de los sistemas de software no pueden

estructurarsede acuerdo a un solo patrón arquitectónico. Se deben cumplir varios requisitos que pueden ser cubiertos por varios patrones arquitectónicos.

Patrones Estructurales
?Capas ?Tubos y filtros

Los patrones arquitectónicos estructurales proveen divisiones del sistema desde un punto de vista de alto nivel.
? Patrón de capas (layers). ? Patrón de tubos y filtros (pipes and filters).

Patrón decapas ( layers )
? Este patrón arquitectónico ayuda a estructurar aplicaciones que pueden descomponerse en grupos

de sub tareas en las cuales cada grupo se encuentra en un nivel de abstracción específico.

Por ejemplo:
Los protocolos de red son el ejemplo mas conocido de arquitecturas de capas. Este protocolo consiste de un conjunto de reglas y convenciones que describen como se comunicanlos programas entre los límites de las computadoras. Se define el formato, contenido y significado de cada mensaje.

CONTEXTO
Un sistema grande que requiere descomposición. PROBLEMA Si se está desarrollando un sistema cuya característica dominante es una mezcla de aspectos de alto y bajo nivel, donde las operaciones de alto nivel confían en las de bajo nivel. Algunas partes del sistema manejanaspectos de bajo nivel como hardware, sensores, señales, etc.; mientras que otras partes manejan aspectos de alto nivel como la interfaz de usuario o la generación de reportes.

Un patrón del flujo de comunicación típico consiste de peticiones moviéndose del nivel alto al mas bajo y respuestas a las peticiones moviéndose en sentido inverso.

PROBLEMA (continuación)
? Tales sistemas…