conceptos básicos de un patrón de diseño

18
CONCEPTOS BÁSICOS DE UN PATRÓN DE DISEÑO ELABORADO: Iván Artemio Huber Contreras Neydi Chiquil Amilcar Ek MATERIA: PROGRAMACIÓN DE APLICACIONES LIC. SALVADOR SANTOS ROMERO

Upload: ney-mar

Post on 29-Nov-2015

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Conceptos básicos de un patrón de diseño

CONCEPTOS BÁSICOS DE UN PATRÓN DE DISEÑO

ELABORADO:

Iván Artemio

Huber Contreras

Neydi Chiquil

Amilcar Ek

MATERIA: PROGRAMACIÓN DE APLICACIONES

LIC. SALVADOR SANTOS ROMERO

Page 2: Conceptos básicos de un patrón de diseño

CONTENIDO:

Definición de patrón

Características de un patrón

Descripción de un patrón

Clasificación de un patrón de diseño según su

propósito

Clasificación de un patrón según su alcance

Ventajas de los patrones de diseño

Sesión de preguntas

Bibliografía

Page 3: Conceptos básicos de un patrón de diseño

DEFINICIÓN

Christopher Alexander: “Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces sin hacerlo ni siquiera dos veces de la misma forma”.

Un patrón de diseño es una descripción de clases y objetos que se comunican entre si, adaptada para resolver un problema general de diseño en un contexto particular.

Un patrón de diseño es una solución a un problema en un contexto.

Page 4: Conceptos básicos de un patrón de diseño

CARACTERÍSTICAS DE UN PATRÓN

Solucionar un problema: los patrones capturan soluciones, no sólo principios o estrategias abstractas.

Ser un concepto probado: los patrones capturan soluciones demostradas, no teorías o especulaciones.

La solución no es obvia: Los mejores patrones generan una solución a un problema de forma indirecta.

Describe participantes y relaciones entre ellos: los patrones no sólo describen módulos sino estructuras del sistema y mecanismos más complejos.

El patrón tiene un componente humano significativo: todo software proporciona a los seres humanos confort o calidad de vida (estética y utilidad).

Page 5: Conceptos básicos de un patrón de diseño

DESCRIPCIÓN DE UN PATRÓN

Nombre del patrón: Esta sección consiste de un nombre del patrón y una referencia bibliografía que indica de donde procede el patrón. El nombre es significativo y corto, fácil de recordar y asociar a la información que sigue.

Objetivo: Aporta la esencia de la solución que es proporcionada por el patrón y está dirigido a programadores con experiencia. Contexto: Describe el problema que el patrón soluciona. Aplicabilidad: Resume las consideraciones que guían a la solución general presentada en la sección Solución. En que situaciones es aplicable el patrón.

Page 6: Conceptos básicos de un patrón de diseño

DESCRIPCIÓN DE UN PATRÓN (cont.)

Solución: Es el núcleo del patrón. Se describe una solución general al problema que el patrón soluciona. Esta descripción puede incluir, diagramas y texto que identifique la estructura del patrón, sus participantes y sus colaboraciones para mostrar como se soluciona el problema. Consecuencias: La sección Consecuencias explica las implicaciones, buenas y malas, del uso de la solución.

Implementación: Describe las consideraciones importantes que se han de tener en cuenta cuando se codifica la solución. También puede contener algunas variaciones o simplificaciones de la solución.

Page 7: Conceptos básicos de un patrón de diseño

DESCRIPCIÓN DE UN PATRÓN (cont.)

Usos en el API de Java: Cuando hay un ejemplo apropiado del patrón en el núcleo del API de Java es comentado en esta sección. Los patrones que no se utilizan en el núcleo del API de Java no contienen esta sección. Código del ejemplo. Contiene el código del ejemplo que enseña una muestra de la implementación para un diseño que utiliza el patrón.

Patrones relacionados: Contiene una lista de los patrones que están relacionados con el patrón que se describe.

Page 8: Conceptos básicos de un patrón de diseño

CLASIFICACIÓN DE UN PATRÓN DE DISEÑO SEGÚN SU PROPÓSITO

Patrones de creación: Tratan de la inicialización y configuración de clases y objetos.

� Patrones estructurales: Tratan de desacoplar interfaz e implementación de clases y objetos:

¿Cómo se componen clases y objetos?

� Patrones de comportamiento: Tratan de las interacciones dinámicas entre sociedades de clases y objetos:

¿Cómo interaccionan y se distribuyen responsabilidades los objetos?

Page 9: Conceptos básicos de un patrón de diseño

PATRONES CREACIONALES

Definen la mejor manera en que  un objeto es instanciado. El objetivo de estos patrones es de abstraer el proceso de instanciación y ocultar los detalles de como los objetos son creados o inicializados.

Los patrones creacionales son:

Factory Method. Abstract Factory. Builder. Prototype. Singleton.

Page 10: Conceptos básicos de un patrón de diseño

PATRONES ESTRUCTURALES

Permiten crear grupos de objetos para ayudarnos a realizar tareas complejas.

Los patrones de estructurales son:

Adapter. Bridge. Composite. Decorator. Facade. Flyweight. Proxy.

Page 11: Conceptos básicos de un patrón de diseño

PATRONES DE COMPORTAMIENTO

Permiten definir la comunicación entre los objetos del sistema y el flujo de la información entre los mismos.

Los patrones de comportamiento son:

Interpreter Template Method. Chain of responsability. Command. Iterator. Mediator. Memento. Observer. State. Strategy. Visitor.

Page 12: Conceptos básicos de un patrón de diseño

EL PATRÓN SINGLETON

El PD Singleton garantiza que una clase sólo tenga una instancia y proporciona un punto de acceso global a ella.

Page 13: Conceptos básicos de un patrón de diseño

EL PATRÓN ADAPTADOR

El PD Adaptador convierte la interfaz de una clase en otra interfaz que espera el cliente. El adaptador permite que clases con interfaces incompatibles puedan funcionar juntas.

Page 14: Conceptos básicos de un patrón de diseño

EL PATRÓN ESTRATEGIA

El PD Estrategia define una familia de algoritmos, los encapsula y los hace intercambiables. Permite que el algoritmo varíe independientemente del cliente.

Page 15: Conceptos básicos de un patrón de diseño

CLASIFICACIÓN SEGÚN SU ALCANCE

De claseSon basados en la herencia de clases.

Interpreter Template Method. Adapter. Factory Method.

De objeto

Se basa en la utilización dinámica de objetos: Chain of responsability. Prototype Mediator. Singleton Memento. Adapter Observer. Brigde State. composite Strategy. Flyweight Visitor. Proxy Abstract Factory Command. Builder Iterator.

Page 16: Conceptos básicos de un patrón de diseño

VENTAJAS DE LOS PATRONES DE DISEÑO

Los patrones de diseño son útiles en diversas maneras

• Promueven la reutilización

• Componente importante de un diseño

• Facilita la documentación

Page 17: Conceptos básicos de un patrón de diseño

SESIÓN DE PREGUNTAS

1. ¿Qué es un patrón de diseño?

2. De acuerdo a su propósito ¿cómo se clasifican los patrones de diseño?

3. Menciona dos ventajas de utilizar los patrones de diseño.

Page 18: Conceptos básicos de un patrón de diseño

BIBLIOGRAFÍA

Martínez Francisco. Guía de construcción de software en java con patrones de diseño. Obtenido el día 20 de octubre de 2013 de http://di002.edv.uniovi.es/~cueva/asignaturas/PFCOviedo/PFCpatronesJava.pdf

Prieto, Félix. Patrón de Diseño. Obtenido el día 20 de octubre de 2013 http://www.infor.uva.es/~felix/datos/priii/tr_patrones-2x4.pdf