You are on page 1of 25

APLICACIONES EN

AMBIENTES LIBRES
TEMA

Patrones de Creacin: Factory Method


y Singleton Grupo 5
AUTORES: SANTIAGO GUALOTUA
SAMANTHA MOLINA
DAVID ROMERO
ANDRS SAMANIEGO
ESCUELA POLITCNICA NACIONAL
FACULTAD DE INGENIERIA DE

AGENDA
Factory
Method

Introduccin

Singleton

Conclusiones

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

INTRODUCCIN
PATRONES DE DISEO
PROPSITO: DE CREACIN

CLASE

OBJETO

FACTORY METHOD

SINGLETON

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

AGENDA
Factory
Method

Introduccin

Singleton

Conclusiones

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Propsito:
Define una interfaz para crear un objeto
Las subclases son
las que deciden qu
clase instanciar

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Motivacin:
El marco de trabajo debe crear instancias de
clases, pero slo conoce clases abstractas,
las cuales no pueden ser instanciadas.

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Aplicacin
Una clase no puede prever qu objetos
crear.
Una clase quiere delegar la creacin de
objetos a sus subclases.
Se quiere localizar a la subclase auxiliar
concreta es la que se delega.
7

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Estructura: Participantes y Colaboraciones
Tiene cuatro participantes:
Producto
Producto Concreto
Creador
Creador concreto
Colaboraciones:
El Creador se apoya en sus subclases para
definir el mtodo de fabricacin.
8

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Estructura: Participantes y Colaboraciones

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Consecuencias
Independencia en las clases especficas.
Herencia innecesaria.
Proporciona enganches para las
subclases.

10

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Consecuencias
Conecta jerarquas de clases paralelas.

11

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Implementacin
Dos variantes principales:
Clase creador abstracta.
Clase creador concreta.
Mtodos de fabricacin parametrizados.
Variantes por el lenguaje.
Usar plantillas para evitar la herencia.
Convenios de nominacin.

12

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Factory Method
Ejemplo

13

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

AGENDA
Factory
Method

Introduccin

Singleton

Conclusiones

14

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Propsito:

15

Una clase slo una


instancia
Proporciona un punto de
acceso global

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Motivacin:
Algunas clases solo necesitan exactamente
una instancia:

16

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Aplicacin
Cuando solo puede haber una instancia de
una clase, y debe ser accesible a los
clientes desde un punto de acceso bien
conocido.
Cuando el unico ejemplar pudiera ser
extensible por herencia, y los clientes
deberian usar el ejemplar de una subclase
sin modificar su codigo.
17

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Estructura: Participantes y Colaboraciones
Los clientes acceden a la instancia de
Singleton unicamente a traves del metodo
Instance de la clase Singleton

18

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Consecuencias:
Acceso controlado a una instancia unica
Espacio de nombres reducido
Permite refinar las operaciones y la
representacion
Permite un numero de instancias variable
Mas flexible que las operaciones de clase
(static)

19

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Implementacin:
Definicion de la clase: asegurar que solo
hay una instancia:
class Singleton {
private static Singleton ejemplar = null;
public static Singleton getEjemplar() {
if ( ejemplar == null )
ejemplar = new Singleton();
return ejemplar;
}
protected Singleton() {
// lo que sea necesario
}
public void metodo() {...} }

20

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

Singleton
Implementacin:
Utilizacion:
Singleton instance = Singleton.getEjemplar();
// ... instance.metodo();
Herencia de la clase Singleton
Como determinar en instance() que subclase utilizar?
Poner la implementacion de instance() en las
subclases
Usando un registro de singletons

21

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

AGENDA
Factory
Method

Introduccin

Singleton

Conclusiones

22

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

CONCLUSIONES
Factory Method es parte del mbito de clases y
Singleton es parte del mbito de objetos de los
patrones de diseo de propsito.
Singleton es necesario cuando hay clases que
tienen que gestionar de manera centralizada un
recurso.
Factory Method delega a las subclases para crear
los objetos.
Factory Method se debe usar cuando una clase no
sabe qu clase de objetos crear, se desea que las
subclases creen los objetos o cuando se quiere
saber qu clase auxiliar es la delegada.
23

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

AGENDA
Factory
Method

Introduccin

Singleton

Conclusiones

24

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

REFERENCIAS
E. Gamma; R. Helm, R. Jhonson, J. Vlissides
Patrones de Diseo Elementos de software
orientado a objetos reutilizables, 2007.
SourceMaking, Factory Method Design Pattern,
disponible en:
https://sourcemaking.com/design_patterns/factor
y_method

25

ESCUELA POLITCNICA NACIONAL


FACULTAD DE INGENIERIA DE

You might also like