patrones de diseño

Post on 07-Jul-2015

258 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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

Patrones de Diseño

Lagash Systems

Mariano Sánchez

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)

Y para que sirven?

• No reinventar la rueda…

• Lenguaje común entre desarrolladores.

• No son una «Silver Bullet».

• Flexibilidad de implementación.

Patrones

• Creational– Factory Method

– Singleton

– Builder

• Structural– Composite

– Facade

– Proxy

• Behavioral– State

– Strategy

– Template Method

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

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

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

proporciona un punto de acceso global a ella.

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.

Composite• Compone objetos en estructuras de árbol para representar

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

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.

Proxy• Proporcionar un sustituto de un objeto en otro para

controlar el acceso al primero.

State

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

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.

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.

Preguntas?

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

top related