Singleton Pattern is one of the mostly known and used design pattern among all the GOF design patterns.
Principles of a Singleton Object:
- There exists one and only one instance of this object
- The state of the object is shared across all the threads in the VM
- In most cases data synchronization is done, unless there it is not needed (Not a Must)