// In software engineering, the singleton pattern is a design pattern used to implement the mathematical
// concept of a singleton, by restricting the instantiation of a class to one object. This is useful when
// exactly one object is needed to coordinate actions across the system. The concept is sometimes generalized
// to systems that operate more efficiently when only one object exists, or that restrict the instantiation
// to a certain number of objects.
public sealed class MySingleton
{
private static MySingleton instance;
private static readonly Object sync = new object();
private MySingleton()
{
// initialize members here
}
public static MySingleton Instance
{
get
{
if (instance == null)
{
lock (sync)
{
if (instance == null)
instance = new MySingleton();
}
}
return instance;
}
}
public void SayHello()
{
Console.WriteLine("Hello!");
}
}
Comments