namespace DesignMode
{
public class Singleton
{
private static Singleton instance;
private Singleton()
{
}
public static Singleton GetInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
多线程单件模式
public class Singleton2
{
//単件モード
private static Singleton2 instance;
private static object _lock = new object();
private Singleton2()
{
}
public static Singleton2 CreateInstance()
{
if (instance == null)
{
lock (_lock)
{
if (instance == null)
{
instance = new Singleton2();
}
}
}
return instance;
}
}
其它单件模式
public class Singleton3
{
private static readonly Singleton3 instance = new Singleton3();
private Singleton3()
{
}
public static Singleton3 CreateInstance()
{
return instance;
}
}