Por admin | Para la categoría de java j2ee | noticia del 10-10-2009
El patrón de diseño singleton (instancia única) está diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto.
El patrón singleton se implementa creando en nuestra clase un método que crea una instancia del objeto sólo si todavía no existe alguna. Para que asegurarnos que la clase solamente se puede hacer una vez, ponemos el constructor privado o protected, y creamos el new desde otro método verificando sin la instancia fué creada
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | public class Singleton { // atributo de la clase que determina que una // que solamente se va a crear uno private static Singleton unico = null; //constructor privado de la clase para //que solo un método de la clase pueda crearlo private Singleton () { } public static Singleton obtenerInstancia() { //para asegurarnos de que es el único if (unico == null) { unico = new Singleton(); } return unico; } private static void instancias() { if ( unico != null) { System.out.println("no se pueden crear mas instancias"); } } // método del singleton public String mensaje() { return "Creada la instancia singleton"; } public static void main ( String args[]) { //para crear un objeto de la clase Singleton sin = Singleton.obtenerInstancia(); String mensaje = sin.mensaje(); //sacamos por pantalla el mensaje de //Creada la instancia singleton System.out.println(mensaje); //intentamos crear una nueva instancia sin= Singleton.obtenerInstancia(); //preguntamos si no hay mas instancias sin.instancias(); } } |
Salida por pantalla

