patrones de diseño

Post on 07-Feb-2017

22 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lagash Systems

Mariano Sánchez – Software Architectmarianos@lagash.com

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)

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

Creationals

Factory Method Define una interfaz para crear un objeto, pero deja la desición de

qué clase instanciar a las subclases que la implementen.

Factory Methoddemo

Singleton Garantiza que una clase tiene sólo una instancia y proporciona un

punto de acceso global a ella.

Singletondemo

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.

Builderdemo

Structural

Composite Compone objetos en estructuras de árbol para representar jerarquías

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

Compositedemo

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.

Facadedemo

Proxy Proporcionar un sustituto de un objeto en otro para controlar el

acceso al primero.

Proxydemo

Behavioral

State Permite que un objeto modifique su comportamiento cuando

cambia su estado interno.

Statedemo

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.

Strategydemo

Template Method Define el esqueleto de un algoritmo en una operación,

difiriendo algunos pasos a subclases. Template Method permite a las subclases redefinir ciertos pasos de un algoritmo sin cambiar su estructura.

Template Methoddemo

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

Muchas Gracias

Mariano Sánchez – Senior Architectmarianos@lagash.com

top related