patrones de diseño

16
Patrones de Diseño Lagash Systems Mariano Sánchez

Upload: mariano-sanchez

Post on 07-Jul-2015

255 views

Category:

Technology


4 download

DESCRIPTION

Presentación sobre Patrones de Diseño del libro de Design Patterns de GOF (Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides)

TRANSCRIPT

Page 1: Patrones de Diseño

Patrones de Diseño

Lagash Systems

Mariano Sánchez

Page 2: Patrones de Diseño

Que son los Patrones de Diseño?

• Los patrones de diseño son soluciones a los problemas recurrentes de diseño de software que encontramos una y otra vez en el desarrollo de aplicaciones.

• Se clasifican en tres grupos:

– De creación (Creational),

– De estructura (Structural)

– De comportamiento. (Behavioral)

Page 3: Patrones de Diseño

Y para que sirven?

• No reinventar la rueda…

• Lenguaje común entre desarrolladores.

• No son una «Silver Bullet».

• Flexibilidad de implementación.

Page 4: Patrones de Diseño

Patrones

• Creational– Factory Method

– Singleton

– Builder

• Structural– Composite

– Facade

– Proxy

• Behavioral– State

– Strategy

– Template Method

Page 5: Patrones de Diseño

Factory Method• Define una interfaz para crear un objeto, pero deja la

desición de qué clase instanciar a las subclases que la implementen.

Page 6: Patrones de Diseño

Singleton• Garantiza que una clase tiene sólo una instancia y

proporciona un punto de acceso global a ella.

Page 7: Patrones de Diseño

Builder• Separa la construcción de un objeto complejo de su

representación para que con el mismo proceso de construcción se pueden crear diferentes representaciones.

Page 8: Patrones de Diseño

Composite• Compone objetos en estructuras de árbol para representar

jerarquías parte-todo. Composite permite tratar objetos individuales y las composiciones de manera uniforme.

Page 9: Patrones de Diseño

Facade• Proporciona una interfaz unificada para un conjunto de

interfaces en un subsistema. Facade (fachada) define una interfaz de alto nivel que hace que el subsistema sea más fácil de usar.

Page 10: Patrones de Diseño

Proxy• Proporcionar un sustituto de un objeto en otro para

controlar el acceso al primero.

Page 11: Patrones de Diseño

State

• Permite que un objeto modifique su comportamiento cuando cambia su estado interno.

Page 12: Patrones de Diseño

Strategy

• Define una familia de algoritmos, encapsula cada uno, y los hace intercambiables. Strategy permite al algoritmo variar independientemente de los clientes que lo utilizan.

Page 13: Patrones de Diseño

Template Method

• Define el esqueleto de un algoritmo en una operación, difiriendo algunos pasos a subclases. Template Methodpermite a las subclases redefinir ciertos pasos de un algoritmo sin cambiar su estructura.

Page 14: Patrones de Diseño

Preguntas?

Page 15: Patrones de Diseño

Recursos

• Design Patterns: Elements of Reusable Object-Oriented Software

– E. Gamma, R. Helms, R. Johnson, J. Vlissides; Addison Wesley, 1994, ISBN 0201633612

• Refactoring To Patterns

– Joshua Kerievsky; Addison Wesley, 2004, ISBN 0321213351

• http://www.dofactory.com/Patterns/Patterns.aspx

Page 16: Patrones de Diseño