We have different approaches but all of them have following common concepts to implement Singleton pattern:
- Private constructor which restricts instantiation of the class from other classes.
- Private static variable of the same class that is the only instance of the class.
- Public static method that returns the instance of the class, this is the global access point for outer world to get the instance of the singleton class.
Where do you use the Singleton pattern?
Most of the scenarios, Singleton classes are created for resources such as File System, Database connections etc…