Singleton může být objekt úplně beze stavu (bez vnitřních proměnných instance), anebo se stavem, který se nemění při volání jeho veřejných metod (představme si např. servisní třídu v aplikační vrstvě).
U takového objektu je zbytečné, aby existoval ve více instancích. Všichni, kdo chtějí využít jeho metody, mohou použít jeden a tentýž objekt (proto singleton, jedináček, tj. jediná instance své třídy v rámci celé aplikace).