Sei sulla pagina 1di 10

Ingeniera de Ejecucin en Informtica. David Cristbal Pedrero Villablanca Puerto Montt, Junio 13 de 2012.

INTRODUCCIN
20-06-2012

Los patrones de diseo el grupo de GoF clasifican en 3 grandes categoras basadas en su propsito: creacionales, estructurales y de comportamiento. Creacionales:
El objetivo de estos patrones es de abstraer el proceso de instanciacin y ocultar los detalles de cmo los objetos son creados o inicializados.

Object Pool Abstract Factory Builder Factory Method Prototype Singleton .


Patrones GOF: Patrones de Creacin

PATRN SINGLETON DEFINICION


20-06-2012

Busca restringir la creacin de objetos pertenecientes a una clase o el valor de un tipo a un nico objeto. Su intencin es garantizar que una clase slo sea instanciada una vez y, adems, proporcionar un nico punto de acceso global a la misma. Esto lo consigue gracias a que es la propia clase la responsable de crear esa nica instancia, (declarando el constructor de la clase como privado) y a que se permite el acceso global a dicha instancia mediante un mtodo de clase.

3
Patrones GOF: Patrones de Creacin

PATRN SINGLETON
20-06-2012

Aplicabilidad
Debe existir una nica instancia de una clase, accesible globalmente.

Consecuencias
Acceso controlado a la nica instancia Evita usar variables globales Generalizar a un nmero variable de instancias La clase Singleton puede tener subclases.

4
Patrones GOF: Patrones de Creacin

PATRN SINGLETON ESQUEMA


20-06-2012

5
Patrones GOF: Patrones de Creacin

PATRN SINGLETON
20-06-2012

Objetivo
Asegurar que una clase tiene una sola instancia y proporcionar un punto de acceso global a ella

Ventajas
Es necesario cuando hay clases que tienen que gestionar de manera centralizada un recurso Una variable global no garantiza que slo se instancie una vez

6
Patrones GOF: Patrones de Creacin

PATRN SINGLETON SOLUCIN

Problema: Nos interesa facilitar el acceso a ese objeto y que ese objeto sea nico, es decir exista una sola instancia de un determinado tipo de clase El constructor de la clase DEBE SER PRIVADO Se proporciona un mtodo ESTTICO en la clase que devuelve LA NICA INSTANCIA DE LA CLASE: getInstance(

20-06-2012

7
Patrones GOF: Patrones de Creacin

PATRN SINGLETON IMPLEMENTACIN


20-06-2012

public final class Facultad Implements Serializable{


private vector listaprofesores; private vector listaAsigs; private vector listaMatrs; private static Facultad laFacultad=new Facultad(); private Facultad() //EL CONSTRUCTOR ES PRIVADO listaProfesores=new Vector(); // Solo hay una instanciacion listaEstudiantes=newVector(); //y se guarda en laFacultad listaAsigs=new Vector(); listaMatrs=new Vector(); }

public static Facultad getInstance() {return laFacultad;} public Vector obtListaProfesores() {return listaProfesores;} Public void anadirProfesores(Profesor p) {listaProfesores.addElement(p);}
Patrones GOF: Patrones de Creacin

CONCLUSIONES
20-06-2012

Un patrn singleton no es estrictamente necesario, ni especialmente til. los desarrolladores que provienen de otros lenguajes como Java se encontrarn mucho ms cmodos con una estructura que les resulta muy familiar. Es til nicamente cuando necesitamos que un objeto concreto y exacto coordine otras implementaciones de patrones a lo largo de un sistema.
9
Patrones GOF: Patrones de Creacin

BIBLIOGRAFIA
20-06-2012

http://www.etnassoft.com/2011/05/20/el-patronsingleton-en-javascript/ http://webdiis.unizar.es/~jmerse/IS2/TeoriaPatronesV2_2.pdf http://www.cristalab.com/tutoriales/patrones-dediseno-creacionales-c99932l/ http://siul02.si.ehu.es/~alfredo/iso/06Patrones.pdf http://patronesdediseno.net16.net/creacion.html

10
Patrones GOF: Patrones de Creacin

Potrebbero piacerti anche