Sobes.tech
Junior — Middle

Vysvětlete koncept vzoru Singleton a jeho hlavní vlastnosti.

sobes.tech AI

Odpověď od AI

Vzor Singleton zajišťuje, že třída má pouze jednu instanci a poskytuje globální přístup k této instanci.

Hlavní vlastnosti Singletonu:

  • Pouze jedna instance: třída řídí vytváření objektu, aby nedošlo k více instancím.
  • Globální dostupnost: instance je dostupná z kteréhokoliv místa v programu.
  • Odložená inicializace: objekt je vytvořen při prvním volání (často).

Příklad v C#:

public class Singleton
{
    private static Singleton _instance;
    private static readonly object _lock = new object();

    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                        _instance = new Singleton();
                }
            }
            return _instance;
        }
    }
}

Tento vzor je užitečný, když je třeba centralizovaně spravovat zdroje nebo konfigurace, například pro logger nebo konfiguraci.