Clase ii patrones de diseño

711 visualizaciones

Publicado el

0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
711
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
9
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Clase ii patrones de diseño

  1. 1. Patrones de Diseño Pablo Cáceres F.
  2. 2. ¿Qué son los patrones de diseño? Patrones de diseño o más comúnmente conocidos como "Design Patterns“, son soluciones simples y elegantes a problemas específicos y comunes del diseño orientado a objetos. Son soluciones basadas en la experiencia y que se ha demostrado que funcionan.
  3. 3. Patrones de Diseño Es evidente que a lo largo de multitud de diseños de aplicaciones hay problemas que se repiten o que son análogos, es decir, que responden a un cierto patrón
  4. 4. Objetivos de los patrones Proporcionar catálogos de elementos reusables en el diseño de sistemas software. Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente. Formalizar un vocabulario común entre diseñadores. Estandarizar el modo en que se realiza el diseño. Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.Asimismo, no pretenden: Imponer ciertas alternativas de diseño frente a otras. Eliminar la creatividad inherente al proceso de diseño.
  5. 5. Categorías de patronesSegún la escala o nivel de abstracción: Patrones de arquitectura: Aquéllos que expresan un esquema organizativo estructural fundamental para sistemas de software. Patrones de diseño: Aquéllos que expresan esquemas para definir estructuras de diseño (o sus relaciones) con las que construir sistemas de software. Dialectos: Patrones de bajo nivel específicos para un lenguaje de programación o entorno concreto.
  6. 6. Estructuras o plantillas de patrones Nombre del patrón: nombre estándar del patrón por el cual será reconocido en la comunidad (normalmente se expresan en inglés). Clasificación del patrón: creacional, estructural o de comportamiento. Intención: ¿Qué problema pretende resolver el patrón? También conocido como: Otros nombres de uso común para el patrón. Motivación: Escenario de ejemplo para la aplicación del patrón. Aplicabilidad: Usos comunes y criterios de aplicabilidad del patrón. Estructura: Diagramas de clases oportunos para describir las clases que intervienen en el patrón. Participantes: Enumeración y descripción de las entidades abstractas (y sus roles) que participan en el patrón. Colaboraciones: Explicación de las interrelaciones que se dan entre los participantes. Consecuencias: Consecuencias positivas y negativas en el diseño derivadas de la aplicación del patrón. Implementación: Técnicas o comentarios oportunos de cara a la implementación del patrón. Código de ejemplo: Código fuente ejemplo de implementación del patrón. Usos conocidos: Ejemplos de sistemas reales que usan el patrón. Patrones relacionados: Referencias cruzadas con otros patrones.
  7. 7. Catálogos de Patrones de DiseñoLos mas conocidos son:  GOF (Gang of Four)  Core J2EE Patterns
  8. 8. Core J2EE Patterns – Capa presentación
  9. 9. Front Controller/ Front Component Objeto que acepta todos los requerimientos de un cliente y los direcciona a manejadores apropiados. El patrón Front Controller podría dividir la funcionalidad en 2 diferentes objetos: el Front Controller y el Dispatcher. En ese caso, El Front Controller acepta todos los requerimientos de un cliente y realiza la autenticación, y el Dispatcher direcciona los requerimientos a manejadores apropiada.
  10. 10. View Helper Un objeto helper que encapsula la lógica de acceso a datos en beneficio de los componentes de la presentación. Por ejemplo, los JavaBeans pueden ser usados como patrón View Helper para las páginas JSP.
  11. 11. Composite view Un objeto vista que está compuesto de otros objetos vista. Por ejemplo, una página JSP que incluye otras páginas JSP y HTML usando la directiva include o el action include es un patrón Composite View.
  12. 12. Service To Worker Es como el patrón de diseño MVC con el Controlador actuando como Front Controller pero con una cosa importante: aquí el Dispatcher (el cual es parte del Front Controller) usa View Helpers a gran escala y ayuda en el manejo de la vista.
  13. 13. Dispatcher View Es como el patrón de diseño MVC con el controlador actuando como Front Controller pero con un asunto importante: aquí el Dispatcher (el cual es parte del Front Controller) no usa View Helpers y realiza muy poco trabajo en el manejo de la vista. El manejo de la vista es manejado por los mismos componentes de la Vista.
  14. 14. Gang Of Four (GoF) En el libro del GoF se propone unos principios fundamentales de diseño subyacentes a los patrones de diseño que permiten crear aplicaciones más flexibles y robustas: Programar para interfaces y no para una implementación. Favorecer la composición de objetos frente a la herencia de clases. Otros principios de gran importancia que se derivan de los principios anteriores son los que se detallan a continuación: Determinar qué es común y qué es variable (commonality analisys).  Común = Estable Permitir el reemplazo de lo variable mediante una
  15. 15. Clasificación de patrones de diseño De Creación: Abstraen el proceso de creación de instancias de objetos. Ayudan a hacer a un sistema independiente de cómo se crean, se componen y se representan sus objetos. Estructurales: Tratan con la composición de clases u objetos. Se ocupan de cómo las clases y objetos son utilizados para componer estructuras de mayor tamaño. De Comportamiento: Caracterizan el modo en que las clases y objetos interactúan y se reparten la responsabilidad. Atañen a los algoritmos y a la asignación de responsabilidades entre objetos.

×