Singleton Design Pattern implementation in Java
Ensure a class has only one instance and provides a global point of access to it
Useful when exactly one instance of a class is needed to coordinate actions
Abstract Factory,Prototype and Builder can use Singleton in their implementation
Often preffered as global variables -Provides OO Design scope,Allows lazy initialization or dynamic change in behaviour
Facade objects and State objects are often SIngletons