patrones de diseño

2
PATRONES DE DISEÑO CONCEPTOS BASICOS Un patrón permite capturar el conocimiento más importante acerca del diseño de la solución a un problema, que permite su posterior reutilización: 1 Se aplica en un contexto 2 Resuelve un problema 3 Generan indirectamente la solución *Los patrones facilitan la reutilización de diseños y arquitecturas software que han tenido éxito. DEFINICION DE UN PATRON DE DISEÑO Un patrón de diseño es una descripción de clases y objetos comunicándose entre sí adaptada para resolver un problema de diseño general en un contexto particular. El uso de patrones ayuda a obtener un software de calidad (reutilización y extensibilidad). ELEMENTOS DE UN PATRON • Nombre: describe el problema de diseño. • El problema: describe cuándo aplicar el patrón. • La solución: describe los elementos que componen el diseño, sus relaciones, responsabilidades y colaboración. CLASIFICACIÓN DE PATRONES Patrones arquitecturales Expresan un paradigma fundamental para estructurar un sistema software Proporcionan un conjunto de subsistemas predefinidos, con reglas y guías para organizar las relaciones entre ellos Patrones de diseño Compuestos de varias unidades arquitecturales más pequeñas Describen el esquema básico para estructurar subsistemas y componentes Patrones elementales (idioms) Específicos de un lenguaje de programación Describen cómo implementar componentes particulares de un patrón EJEMPLOS DE PATRONES Patrones arquitecturales • Jerarquía de capas • Tuberías y filtros • Cliente/Servidor • Maestro-Esclavo • Control centralizado y distribuido Patrones de diseño • Proxies • Factorías • Adaptadores • Composición • Broker Patrones elementales (idioms) • Modularidad

Upload: juan-carrasco-manay

Post on 08-Dec-2015

220 views

Category:

Documents


1 download

DESCRIPTION

Patrones de DiseñoIngenieria de Software

TRANSCRIPT

Page 1: Patrones de Diseño

PATRONES DE DISEÑOCONCEPTOS BASICOSUn patrón permite capturar el conocimiento más importante acerca del diseño de la solución a unproblema, que permite su posterior reutilización:1 Se aplica en un contexto2 Resuelve un problema3 Generan indirectamente la solución*Los patrones facilitan la reutilización de diseños y arquitecturas software que han tenido éxito.

DEFINICION DE UN PATRON DE DISEÑOUn patrón de diseño es una descripción de clases y objetos comunicándose entre sí adaptada para resolver un problema de diseño general en un contexto particular.El uso de patrones ayuda a obtener un software de calidad (reutilización y extensibilidad).

ELEMENTOS DE UN PATRON

• Nombre: describe el problema de diseño.• El problema: describe cuándo aplicar el patrón.• La solución: describe los elementos que componen el diseño, sus relaciones, responsabilidades y colaboración.

CLASIFICACIÓN DE PATRONESPatrones arquitecturalesExpresan un paradigma fundamental para estructurar un sistema softwareProporcionan un conjunto de subsistemas predefinidos, con reglas y guías para organizar las relaciones entre ellosPatrones de diseñoCompuestos de varias unidades arquitecturales más pequeñasDescriben el esquema básico para estructurar subsistemas y componentesPatrones elementales (idioms)Específicos de un lenguaje de programaciónDescriben cómo implementar componentes particulares de un patrón

EJEMPLOS DE PATRONES

Patrones arquitecturales• Jerarquía de capas• Tuberías y filtros• Cliente/Servidor• Maestro-Esclavo• Control centralizado y distribuidoPatrones de diseño• Proxies• Factorías• Adaptadores• Composición• BrokerPatrones elementales (idioms)• Modularidad• Interfaces mínimas• Encapsulación• Objetos• Acciones y Eventos• Concurrencia

TIPOS DE PATRONES

Page 2: Patrones de Diseño

CATEGORÍAS DE PATRONES DE DISEÑO

Patrones de creaciónTratan de la inicialización y configuración de clases y objetosPatrones estructuralesTratan de desacoplar interfaz e implementación de clases y objetos:

• ¿Cómo se componen clases y objetos?Patrones de comportamientoTratan de las interacciones dinámicas entre sociedades de clases y objetos: • ¿Cómo interaccionan y se distribuyen responsabilidades los objetos?