Está en la página 1de 19

Patrones de Diseo

Clasificacin
Creacionales
Factory Method Abstract Factory

Estructurales
Adapter
Bridge Composite Decorator

Comportamiento
Interpreter Template Method Chain of Responsability

Builder
Prototype Singleton

Command
Iterator Mediator Memento Observer State Strategy Visitor

Facade
Flyweight Proxy

Patrn Creacional Abstract Factory


Factory: Permite delegar a una clase la responsabilidad de crear objetos de otras clases. Crea Familias de objetos Abstract Factory brinda interfaz para crear familias de objetos

Estructurales Bridge

Desacoplar una abstraccin de su implementacin. Ambas pueden ser modificadas sin necesidad de alterar la otra.

Ejemplo

Desacopla una abstraccin de su implementacin, de modo que las 2 puedan variar. Interruptor de control de luces

Ventilador de techo
Abstraccin: Encender o apagar algn dispositivo

Decorator

Permite aadir responsabilidades a objetos concretos pero no a toda la clases.

La solucin es rodear al objeto con otro que es el que le adiciona la nueva responsabilidad(Decorator).
Embellecer interfaces de usuario

Ejemplo

Restaurante de comidas rpidas

Caractersticas diferentes ,porciones, precio.


Posibilidad de aumentar el pedido (Porciones adicionales)

Flyweight
Describe como compartir objetos para permitir su uso sin costos excesivos.

Dividido el objeto(Flyweight )en 2 partes


Estado dependiente: es almacenado en el objeto Estado independiente: Almacenado por el objeto cliente y pasado al objeto Flyweight.

Comportamiento Interpreter
Busca representar un lenguaje mediante reglas gramticas. Define las reglas gramtica y como interpretarlas

Ejemplo

El patrn interprete define una representacin gramatical. Los msicos son ejemplos de Interpreter. El tono de un sonido y su duracin pueden ser representados en notacin musical de un pentagrama. Los msicos tocan la msica de la partitura. Reproducen el tono original y la duracin de cada sonido representado

Template Method

Define el esqueleto de un algoritmo en una operacin delegando algunos pasos a las clases derivadas Algunos pasos de un algoritmo no varan implementndose en una clase abstracta. Los pasos variantes pueden ser provistos por las clases derivadas

Ejemplo

Chain of Responsability
Intencin del patrn
Permite establecer una cadena de objetos receptores. El objeto emisor hace un peticin formulada pasado a travs de ellos. No se sabe cual es el objeto que puede resolver el problema Un pedido puede ser manejado por varios objetos

Ejemplo

Las clases derivadas conocen como satisfacerla solicitud del cliente. Si el objeto actual no es suficiente, la cual delega a la clase base y esta al siguiente objeto

Command

Encapsula un mensaje como un objeto Permite solicitar una operacin a un objeto sin conocer el contenido ni el receptor real de la misma.

Command: Clase que implementa una interfaz para la ejecucin de comandos. ConcreateCommand: Define la relacin entre el objeto receiver y una accin Cliente Crea un ConcreteCommand y lo relaciona con su receiver Invoker. Le hace solicitudes al objeto concreteCommand mediante su interfaz Receiver: Cualquier cosa puede ser receptora

Ejemplo
El pedido en un restaurante ejemplo de patrn command. El mesero toma la orden(pedido) Encapsula al escribirla en su anotador

La orden es derivada al chef para que la procese.

Mememto

Captura el estado interno de un objeto para que el objeto pueda ser devuelto a dicho estado posteriormente Punto de control. Se necesita restaura un objeto a su estado previo( deshacer o rollback )

También podría gustarte