Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
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
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
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
10
Patrones GOF: Patrones de Creacin