12
Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Embed Size (px)

Citation preview

Page 1: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Patrones de Diseño

Juan Manuel PerdigónMario Felipe Monsalve

Page 2: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Tabla de Contenidos

Concepto de Patrón Categorías Patrón Prototype Patrón Singleton

Page 3: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Concepto de Patrón

Problema en común Se crea una estrategia Tipo formal de documentación Aporta una solución

Page 4: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Categorias Patrones Creacionales

Abstract Factory (Fábrica abstracta) Builder (Constructor Virtual) Factory Method (Método de fabricación) Prototype (Prototipo) Singleton (Instancia Única)

Patrones Estructurales Adapter (Adaptador) Bridge (Puente) Composite (Objeto Compuesto) Decorator (Envoltorio) Facade (Fachada) Flyweigth (Peso Ligero) Proxy

Patrones de Comportamiento Chain of Responsibility (Cadena de Responsabilidad) Command (Orden) Interpreter (Interprete) Iterator (Iterador) Mediator (Mediador) Memento (Recuerdo) Observer (Observador) State (Estado) Strategy (Estrategia) Template Method (Método plantilla) Visitor (Visitante)

Page 5: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Patrones Creacionales

Tratan con las formas de crear instancias de objetos, abstraen el proceso de instanciación.

Abstract Factory (Fábrica abstracta) Builder (Constructor Virtual) Factory Method (Método de fabricación) Prototype (Prototipo) Singleton (Instancia Única)

Page 6: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Patrones Estructurales

Describen como las clases y objetos pueden combinarse para formar grandes estructuras.

Adapter (Adaptador) Bridge (Puente) Composite (Objeto Compuesto) Decorator (Envoltorio) Facade (Fachada) Flyweigth (Peso Ligero) Proxy

Page 7: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Patrones de ComportamientoAyudan a definir la comunicación e interacción entre objetos de un sistema. Su propósito es reducir el acoplamiento entre objetos.

Chain of Responsibility (Cadena de Responsabilidad) Command (Orden) Interpreter (Interprete) Iterator (Iterador) Mediator (Mediador) Memento (Recuerdo) Observer (Observador) State (Estado) Strategy (Estrategia) Template Method (Método plantilla) Visitor (Visitante)

Page 8: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Patrones Creacionales

Creacional de la clase Usan la herencia como un mecanismo para

lograr la instanciación de la clase

Creacional del objeto Mas escalables y dinámicos que los

patrones creacionales de la clase (Por ejemplo: Singleton)

Page 9: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Prototype (prototipo) Crea nuevos objetos, clonándolos a partir de una instancia ya

existente El patrón de diseño Prototype (Prototipo), tiene como finalidad

crear nuevos objetos duplicándolos, clonando una instancia creada previamente.

Page 10: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Singleton (Instancia Única) Garantiza la existencia de una única instancia para

una clase y la creación de un mecanismo de acceso global a dicha instancia

Cuando emplear Singleton? Unos ejemplos: Un gestor de impresoras, un pool de

conexiones a una base de datos, un gestor de parámetros de configuración, etc.

Page 11: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Singleton (Instancia Única)

Características: Restricción de acceso al constructor

Hace imposible crear nuevas instancias. Solo la propia clase puede crear la instancia.

Mecanismo de acceso a la instancia El acceso se hace a través de un único punto

bien definido. Inicialmente puede ser accedido desde

cualquier parte del código.

Page 12: Patrones de Diseño Juan Manuel Perdigón Mario Felipe Monsalve

Bibliografia http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%

B1o http://java.ciberaula.com/articulo/diseno_patrones_j2ee/ http://www.elrincondelprogramador.com/default.asp?pag

=articulos/leer.asp&id=29