Facade objects are often singletons because only one facade object is required. State objects are often singletons. Singletons are often preferred to global variables because: They do not pollute the global namespace (or, in languages with nested namespaces, their containing namespace) with unnecessary variables.[1] They permit lazy allocation and initialization, whereas global variables in many languages will always consume resources.