Patrones

Solo disponible en BuenasTareas
  • Páginas : 7 (1633 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de mayo de 2011
Leer documento completo
Vista previa del texto
Clasificación de los patrones de diseño:
Patrones creacionales: relacionados con la creación de objetos.
Patrones estructurales: tratan la composición de las clases u objetos
Patrones de comportamiento: caracterizan la forma en que las clases y objetos interactúan y se reparten la responsabilidad.
Patrón Strategy:
Propósito: Define una familia de algoritmos, encapsula cada uno de ellos ylos hace intercambiables.
Permite que un algoritmo cambie independientemente del cliente que lo utiliza.
Aplicabilidad:
Muchas clases relacionadas que difieren sólo en su comportamiento
Un algoritmo usa datos que los clientes no deberían conocer
Consecuencias:
Es una alternativa a la herencia
Proporcionan distintas implementaciones del mismo comportamiento
Los clientes deben conocer lasdiferentes estrategias
Costos de comunicación entre estrategia y contexto
Mayor número de objetos

Patrón Command:
Problema: A veces se quiere poder enviar solicitudes a objetos sin conocer exactamente la operación solicitada ni del receptor de la solicitud.
El consumidor (cliente) da órdenes (comandos) a un mesero (invocador), el cuál las apila para después pasarla al cocinero (ejecutar laacción). El cocinero (receptor) entonces realiza la acción.
Aplicabilidad:
Facilitar la parametrización de las acciones a realizar. Independizar el momento de petición del de ejecución.
Soportar el "deshacer".
Desarrollar sistemas utilizando órdenes de alto nivel que se construyen con operaciones sencillas.
Consecuencias:
Se independiza la parte de la aplicación que invoca las órdenes dela implementación de los mismos. Se facilita la ampliación del conjunto de órdenes.

Patrón decorator:

¿Cómo agregar nuevos tipos de bebidas y bebidas con algunos sabores como crema batida, amaretto, mocca, etc.? Hay que tomar en cuenta que cada sabor o agregado tiene un costo diferente.
Si se continúa con la jerarquía anterior se generará una explosión de clases.

Utilizando elpatrón: Situacion:
Se desea adicionar responsabilidades a un objeto pero no a toda la clase.
Las responsabilidades se pueden adicionar por medio de los mecanismos de herencia, pero este mecanismo no es flexible porque la responsabilidad es adicionada estáticamente.
La solución flexible es la de rodear el objeto con otro objeto que es el que adiciona la nueva responsabilidad.
Ventajas:
Una maneramás flexible de añadir responsabilidad que la que podría obtenerse mediante herencia. Las responsabilidades añadidas se pueden quitar.
Evita clases cargadas de funciones en la parte superior de la jerarquía
Pagar sólo por lo que se necesita, añadiendo responsabilidades mediante objetos decoradores.
Inconveniente:
Muchos objetos pequeños: genera muchos objetos pequeños muy parecidos, sólo sediferencian por la forma en que están interconectados.
El decorador se debe usar cuando:
Se requiera adicionar responsabilidades a objetos individuales dinámicamente sin afectar otros objetos.
Se necesite agregar responsabilidades que pueden ser retiradas
No es práctico adicionar responsabilidades por medio de la herencia.

Patrón Façade (Estructural)

Proporciona una interfaz unificadapara un conjunto de interfaces en un subsistema.
Define una interfaz de alto nivel que hace que el subsistema sea más fácil de usar.
Una sola clase que representa un subsistema entero.
Se utilizará Façade cuando:
Se quiera proporcionar una interfaz simple para un subsistema complejo
Se quiera dividir en capas los subsistemas.

Los clientes que usan la fachada no tienen que accederdirectamente a los objetos del subsistema.
Ventajas
Oculta a los clientes los componentes del subsistema hace el subsistema más fácil de usar y reduce la cantidad de objetos con las que los clientes deben interactuar
Patrón Template Method:
Define en una operación el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos.
Permite que las subclases redefinan ciertos pasos de...
tracking img