Le concept mathématique d'un singleton est un ensemble de nombres qui ne contient qu'un seul numéro. Les ingénieurs et les programmeurs informatiques ont traduit ce concept dans ce qu'on appelle un pattern singleton, dans lequel un ensemble spécifique d'informations est accessible par divers programmes qu'une seule fois et contient toujours le même jeu d'instructions ou d'informations. Le pattern singleton est utilisé dans les langages de programmation tels que Java pour définir une variable globale, un élément d'information utilisé à travers tout un système qui reste le même et doit être défini qu'une seule fois au lieu de plusieurs fois.
Dans la plupart des langages de programmation, avant qu'un programme puisse fonctionner, il nécessite éléments d'informations supplémentaires au sujet de son environnement. La plupart des informations spécifiques au programme est contenu dans son propre code de programme, mais un programme nécessite souvent également des informations variables sur des choses telles que la version du système d'exploitation dans lequel il est exécuté, le matériel sur lequel il est exécuté sur et d'autres informations spécifiques pas unique au programme lui-même. Habituellement, cette information est contenue dans ce qu'on appelle une classe ou d'un objet, qui est une pièce indépendante du code de programmation souvent contenus dans un fichier distinct du programme afin qu'il puisse être disponible pour de nombreux programmes différents simultanément.
Si un langage de programmation n'utilise pas le pattern singleton, chaque programme qui requiert des informations contenues dans un objet accède en ouvrant l'objet d'un ensemble de paramètres qui spécifient les informations dans l'objet a besoin du programme. Par conséquent, chaque fois qu'un autre programme ouvre l'objet, une autre instance de l'objet est créé dans la mémoire de l'ordinateur. Chaque instance de l'objet peut contenir des informations différentes, en fonction des besoins spécifiques de chaque programme qui l'ouvre.
Quand un langage de programmation qui utilise le pattern singleton, comme Java, commence l'exécution d'un programme, le programme recherche d'abord les objets dont il a besoin d'informations. Si un objet n'est pas déjà ouverte, elle ouvre l'objet sans paramètres spécifiques, ce qui rend toute l'information contenue dans l'objet à la disposition de tous les programmes. Si l'objet est déjà ouvert, il se contente de lire les informations contenues dans l'objet et continue. De cette façon, l'information contenue dans un objet en utilisant un modèle singleton est toujours le même, il n'est donc pas nécessaire d'ouvrir de nombreuses versions différentes de l'objet en même temps. Cela permet d'économiser l'espace dans la mémoire de l'ordinateur et peut également augmenter la vitesse parce que d'autres programmes peuvent accéder à l'information sans avoir à passer du temps à créer une nouvelle version de l'objet.