Guarantee that there is only one instance of the singleton object within an application.
This pattern is commonly used to ensure that only one instance of the particular object exists in memory. This is particularly useful for objects that coordinate access to shared resources such as data stores.
For more information, Wikipedia provides a great overview of the pattern: Wikipedia Article