Sinlgeton Tasarım Deseni, bir sınıfın sadece bir örnek(instance)inin yaratılabildiği tasarım desenidir. Sinlgeton en kolay kodlanabilen tasarım desenidir. Statik erişilebildiğinden dolayı oldukça kolaylık sağlar ama tek sorumluluk prensibine uygun olmaması gibi bazı dezavantajları da vardır. Aşağıda, olabilecek en basit singleton implementasyonlarından biri vardır.
public class SingletonClass
{
private static SingletonClass _instance = new SingletonClass();
private SingletonClass() { }
public static SingletonClass Instance
{
get
{
return _instance;
}
}
public bool isSameInstance = false;
}
Tek bir örnek olduğunu test etmek için, isSameInstance adlı değişkenin değerini değiştirip, daha sonra bu değişkeni görüntülemeyi deneyebilirsiniz.
SingletonClass.Instance.isSameInstance = true;
MessageBox.Show(SingletonClass.Instance.isSameInstance.ToString());
Bu örnek Thread Safe değildir.