Одинак (Singleton)
1. Один об'єкт класу
2. Обмежена кількість об'єктів класу
class Single
{
private static Single single = null;
protected Single() {
}
public static Single Initialize()
{
if (single == null)
{
single = new Single();
}
return single;
}
}
static void Main(string[] args)
{
// Single s1 = new Single(); не має доступу
Single s1 = Single.Initialize();
Console.WriteLine(s1.GetHashCode()); // унікальний ідентифікатор об'єкту
Single s2 = Single.Initialize();
Console.WriteLine(s2.GetHashCode());
Console.ReadKey();
}
46104728
46104728