Singleton

GPTKB entity

Properties (47)
Predicate Object
gptkbp:instanceOf Design Pattern
gptkbp:canBe Eagerly initialized
Implemented with enums
Implemented with static methods
Lazy initialized
gptkbp:canLeadTo Difficulties in testing
Tight coupling
gptkbp:hasFacility Ensure a class has only one instance
https://www.w3.org/2000/01/rdf-schema#label Singleton
gptkbp:isConsidered A design pattern for controlling instantiation
A design pattern for resource management
Anti-pattern by some developers
gptkbp:isCriticizedFor Global state issues
Hidden dependencies
gptkbp:isLocatedIn gptkb:Java
C#
Python
gptkbp:isNear Static class
A design for concurrency
A design for scalability
A substitute for dependency injection
gptkbp:isNotableFor Multi-threaded applications without precautions
gptkbp:isOftenMadeWith Factory pattern
Builder pattern
Prototype_pattern
gptkbp:isOftenUsedIn Game engines
Database connections
Unit tests
Integration tests
Functional tests
Service locators
gptkbp:isOrganizedBy A way to control access to resources
A way to manage global state
gptkbp:isPartOf Object-oriented design
Software engineering
gptkbp:isRelatedTo Lazy initialization
Dependency injection
Service locator pattern
Global state
Thread_safety
gptkbp:isUsedIn Web applications
Game development
Microservices architecture
Resource management
Configuration management
Logging frameworks
API_design