Singleton

E679867

Singleton is a creational design pattern in software engineering that ensures a class has only one instance while providing a global point of access to it.

All labels observed (1)

Label Occurrences
Singleton canonical 1

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf creational design pattern ⓘ
software design pattern ⓘ
advantage centralized management of global state ⓘ
controlled access to a single instance ⓘ
reduced memory usage for shared services ⓘ
appearsIn Gang of Four design patterns catalog ⓘ
canBeImplementedIn C# ⓘ
C++ ⓘ
Java ⓘ
JavaScript ⓘ
Python ⓘ
many object-oriented languages ⓘ
canBeMadeThreadSafeBy double-checked locking ⓘ
initialization-on-demand holder idiom ⓘ
synchronizing the accessor method ⓘ
using language-level static initialization ⓘ
category object creational pattern ⓘ
commonUseCase caching manager ⓘ
configuration manager ⓘ
connection pool manager ⓘ
logging service ⓘ
window or application controller ⓘ
criticizedFor encouraging global state ⓘ
hindering testability ⓘ
tight coupling ⓘ
describedIn Design Patterns: Elements of Reusable Object-Oriented Software ⓘ
disadvantage difficulty in unit testing ⓘ
hidden dependencies ⓘ
potential concurrency issues ⓘ
potential for global state misuse ⓘ
ensures a class has only one instance ⓘ
field software engineering ⓘ
hasKeyFeature lazy or eager initialization of the instance ⓘ
restricted constructor access ⓘ
single globally accessible instance ⓘ
static access method ⓘ
provides a global point of access to that instance ⓘ
relatedTo Abstract Factory pattern ⓘ
linked to: Abstract Factory

Dependency Injection ⓘ
Factory Method pattern ⓘ
linked to: Factory Method

Service Locator pattern ⓘ
supports eager initialization ⓘ
lazy initialization ⓘ
thread-safe initialization mechanisms ⓘ
typicalImplementationDetail private constructor ⓘ
public static accessor method ⓘ
static field holding the instance ⓘ
usedFor controlling object creation ⓘ
coordinating access to a single service ⓘ
managing shared resources ⓘ

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Prototype → relatedTo → Singleton ⓘ