What is a Singleton Pattern
The pattern that creates many instances of a single class in one shot
This pattern is to have only a single constructor to a class
Provides a class of which there can be no more than an instance, and provides a single global point of access to that instance
Creates and maintains a pool of objects, using which a single object can used and returned to the pool