Benefits
• Controlled access to sole instance
• Reduced name space
• Permits refinement of operations and representation
• Permits a variable number of instances
• More flexible than class operations
Applicable Scenario
• There must be exactly one instance of a class.