Pojęcie matematyczne singletona to zbiór liczb, który zawiera tylko jedną pojedynczą liczbę. Inżynierowie oprogramowania i programiści przetłumaczyli tę koncepcję na coś, co nazywa się wzorcem singletona, w którym określony zestaw informacji jest dostępny dla różnych programów tylko raz i zawsze zawiera ten sam zestaw instrukcji lub informacji. Wzorzec singleton jest używany w językach programowania, takich jak Java, do definiowania zmiennej globalnej, informacji używanej w całym systemie, która pozostaje taka sama i musi być zdefiniowana tylko raz, a nie wiele razy.
W większości języków programowania, zanim program będzie mógł zostać uruchomiony, wymaga dodatkowych informacji o swoim środowisku. Większość informacji specyficznych dla programu jest zawarta w jego własnym kodzie programu; jednak program często wymaga również zmiennych informacji o takich rzeczach, jak wersja systemu operacyjnego, w którym jest uruchomiony, sprzęt, na którym jest uruchomiony, oraz inne specyficzne informacje, które nie są charakterystyczne dla samego programu. Zwykle ta informacja jest zawarta w czymś, co nazywa się klasą lub obiektem, który jest niezależnym fragmentem kodu programistycznego, często zawartym w pliku odrębnym od programu, dzięki czemu może być dostępny dla wielu różnych programów jednocześnie.
Jeśli język programowania nie używa wzorca singleton, każdy program, który wymaga informacji zawartych w obiekcie, uzyskuje do niego dostęp, otwierając obiekt z zestawem parametrów, które określają, jakich informacji w obiekcie potrzebuje program. Dlatego za każdym razem, gdy inny program otwiera obiekt, w pamięci komputera tworzona jest inna instancja obiektu. Każda instancja obiektu może zawierać różne informacje, w zależności od konkretnych potrzeb każdego programu, który go otwiera.
Kiedy język programowania używający wzorca singleton, taki jak Java, zaczyna uruchamiać program, program najpierw wyszukuje obiekty, z których potrzebuje informacji. Jeśli obiekt nie jest jeszcze otwarty, otwiera go bez żadnych określonych parametrów, udostępniając wszystkie informacje zawarte w obiekcie dla wszystkich programów. Jeśli obiekt jest już otwarty, po prostu odczytuje informacje w obiekcie i kontynuuje. W ten sposób informacje zawarte w obiekcie za pomocą wzorca singletona są zawsze takie same, dzięki czemu nie ma potrzeby otwierania wielu różnych wersji obiektu jednocześnie. Oszczędza to miejsce w pamięci komputera, a także może zwiększyć prędkość, ponieważ inne programy mogą uzyskać dostęp do informacji bez konieczności poświęcania czasu na tworzenie nowej wersji obiektu.