Using system;
Namespace csdesingpattern
{
Class Singleton
{
Private Static Singleton minstance;
Private int x = 0;
Private Singleton (){}
Public static Singleton GetObject ()
{
If (minstance = NULL)
Minstance = new Singleton ();
Return minstance;
}
Public void setx (INT newval)
{
X = newval;
}
Public int getx ()
{
Return X;
}
Static void main (string [] ARGs)
{
Int val;
Singleton S1 = singleton. GetObject ();
Singleton S2 = singleton. GetObject ();
Console. writeline ("set X in the singleton object to 10 ");
S1.setx (10 );
Val = s2.getx ();
Console. writeline ("using the second Singleton variable to read X value x = {0}", Val );
Console. Readline ();
}
}
}
- Design requirements:
Define static members (indicating their own classes)
Private Static Singleton minstance;
Define the static creation function:
Public static Singleton GetObject ()
{
If (minstance = NULL)
Minstance = new Singleton ();
Return minstance;
}
Usage: maintain one or a fixed number of instances, such as applications in ASP. NET.