Alguien sabe como implementar un S¡ngleton Pattern.

23/06/2004 - 17:08 por Misael Chuc | Informe spam
Que tal Sres.



Me han comentado que investigue acerca de la implementacion del Singleton
Pattern, alguien ha realizado o conoce mejor acerca del Tema.


Muchas Gracias.

Preguntas similare

Leer las respuestas

#1 Juan C. Olivares
23/06/2004 - 17:44 | Informe spam
Echa un vistazo aquí. Espero que te sirva:

http://msdn.microsoft.com/library/e...espatt.asp

Atte,
Juan C. Olivares
www.juancri.com

"Misael Chuc" wrote in message
news:
Que tal Sres.



Me han comentado que investigue acerca de la implementacion del Singleton
Pattern, alguien ha realizado o conoce mejor acerca del Tema.


Muchas Gracias.
Respuesta Responder a este mensaje
#2 Octavio Hernandez
23/06/2004 - 23:25 | Informe spam
Misael,

El otro día alguien hizo una pregunta parecida a la tuya sobre ventanas de
única instancia, y le respondí de la manera "ortodoxa" - introduciendo el
patrón singleton. Te copio el mensaje por si te sirve de ayuda.

Salu2 - Octavio

*****************************************************************

JC,

Haz que tu clase Form_Agentes (y los demás formularios hijos) implemente un
patrón SINGLETON (única instancia). Normalmente se hace que el constructor
sea privado (para que no se puedan crear instancias desde el exterior), y se
añade a la clase un método estático que genere la única instancia, si no
existe aún, o devuelva la referencia a la instancia ya existente. Más o
menos así:

public class Form_Agentes: Form
{
private Form_Agentes() : base()
{
// código del constructor
}
private static Form_Agentes instancia = null;
public static Form_Agentes Instancia
{
get
{
if (instancia == null)
instancia = new Form_Agentes();
return instancia;
}
}
// más...
}

Esto garantiza que sólo habrá una instancia de la clase, a la que podrás
referirte mediante Form_Agentes.Instancia:

public class FormPrincipal: Form
{
private void mMaestrosAgentes_Click(object sender, System.EventArgs e)
{
Form_Agentes.Instancia.Show();
}
// ...
}

OJO: También habrá que programar la clase Form_Agentes para que cuando el
usuario la cierre la instancia se ponga a null...

Salu2 - Octavio

"Joan Carles Jiménez" escribió en el mensaje
news:
Hola a todos!!

Estoy realizando una aplicación MDI. Desde el formulario principal,
llamo a los diferentes formularios utilizando una función del tipo (abre


el
formulario de Agentes) ...

private void mMaestrosAgentes_Click(object sender, System.EventArgs e)
{
Form_Agentes fAgentes = new Form_Agentes();
fAgentes.MdiParent = this;
fAgentes.Show();
}

El problema que tengo es que cada vez que le doy a la opción, me abre un
nuevo formulario. ¿Como puedo controlar que el formulario ya està abierto


y
que en ese caso simplemente me active el formulario? Gracias por


adelantado.


Juan Carlos Jimenez







*****************************************************************

"Misael Chuc" escribió en el mensaje
news:
Que tal Sres.



Me han comentado que investigue acerca de la implementacion del Singleton
Pattern, alguien ha realizado o conoce mejor acerca del Tema.


Muchas Gracias.
Respuesta Responder a este mensaje
#3 Misael Chuc
24/06/2004 - 15:57 | Informe spam
Octavio:

Muchas gracias, por tu ayuda. El ejemplo me ayuda a entender un poco mas la
Teoria.

Octavio Hernandez 6/23/04 4:25:41 PM >>>






Misael,

El otro día alguien hizo una pregunta parecida a la tuya sobre ventanas de
única instancia, y le respondí de la manera "ortodoxa" - introduciendo el
patrón singleton. Te copio el mensaje por si te sirve de ayuda.

Salu2 - Octavio

*****************************************************************

JC,

Haz que tu clase Form_Agentes (y los demás formularios hijos) implemente un
patrón SINGLETON (única instancia). Normalmente se hace que el constructor
sea privado (para que no se puedan crear instancias desde el exterior), y
se
añade a la clase un método estático que genere la única instancia, si no
existe aún, o devuelva la referencia a la instancia ya existente. Más o
menos así:

public class Form_Agentes: Form
{
private Form_Agentes() : base()
{
// código del constructor
}
private static Form_Agentes instancia = null;
public static Form_Agentes Instancia
{
get
{
if (instancia == null)
instancia = new Form_Agentes();
return instancia;
}
}
// más...
}

Esto garantiza que sólo habrá una instancia de la clase, a la que podrás
referirte mediante Form_Agentes.Instancia:

public class FormPrincipal: Form
{
private void mMaestrosAgentes_Click(object sender, System.EventArgs e)
{
Form_Agentes.Instancia.Show();
}
// ...
}

OJO: También habrá que programar la clase Form_Agentes para que cuando el
usuario la cierre la instancia se ponga a null...

Salu2 - Octavio

"Joan Carles Jiménez" escribió en el mensaje
news:
Hola a todos!!

Estoy realizando una aplicación MDI. Desde el formulario principal,
llamo a los diferentes formularios utilizando una función del tipo (abre


el
formulario de Agentes) ...

private void mMaestrosAgentes_Click(object sender, System.EventArgs e)
{
Form_Agentes fAgentes = new Form_Agentes();
fAgentes.MdiParent = this;
fAgentes.Show();
}

El problema que tengo es que cada vez que le doy a la opción, me abre un
nuevo formulario. ¿Como puedo controlar que el formulario ya està abierto


y
que en ese caso simplemente me active el formulario? Gracias por


adelantado.


Juan Carlos Jimenez







*****************************************************************

"Misael Chuc" escribió en el mensaje
news:
Que tal Sres.



Me han comentado que investigue acerca de la implementacion del Singleton
Pattern, alguien ha realizado o conoce mejor acerca del Tema.


Muchas Gracias.
Respuesta Responder a este mensaje
#4 Misael Chuc
24/06/2004 - 15:58 | Informe spam
Juan,


Muchas gracias, he leido el texto de la pagina y me parece muy bueno,
gracias de nuevo.

Juan C. Olivares 6/23/04 10:44:18 AM >>>






Echa un vistazo aquí. Espero que te sirva:

http://msdn.microsoft.com/library/e...espatt.asp

Atte,
Juan C. Olivares
www.juancri.com

"Misael Chuc" wrote in message
news:
Que tal Sres.



Me han comentado que investigue acerca de la implementacion del Singleton
Pattern, alguien ha realizado o conoce mejor acerca del Tema.


Muchas Gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida