Singleton Pattern
The singleton pattern ensures a class has only one instance and provides a global access point, used for shared state or resource management.
Purpose
Control instance creation for global resources such as configuration, logging, and connection pools.
Mechanism
Private constructor + static instance + global access method. Thread safety requires double-checked locking or static initialization. Controversial: introduces global state, hides dependencies, hard to test. Prefer dependency injection over singletons.
Use cases
- Global state management
- Resource sharing
- Pattern design