A Singleton minta biztosítja, hogy egy osztálynak csak egy példánya van, és globális hozzáférési pontot biztosít hozzá. Akkor használják, ha pontosan egy objektumnak kellene valamit koordinálnia (egy konfiguráció, egy kapcsolatkészlet, egy naplózó), bár ez is meglehetősen vitatott.
Mit csinál a Singleton
SINGLETON → guarantee a class has only ONE instance, with global access to it:
→ the class controls its own instantiation (private constructor)
→ returns the SAME instance every time it's requested
→ for: things there should only be ONE of, accessed from many places
