Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Most design pattern books follow a specific format in the description of their patterns. Typically, these books begin by stating a particular type of problem. They then follow the problem statement with a description of the solution, including code for the solution, and then finally a discussion about the solution. For the purposes of the design patterns I am going to discuss here I intend to follow this pattern.
You need to ensure that there is one and only one instance of a particular class in your application and provide a global point of access to it. This may be due to design constraints or for the purposes of controlling access to a finite resource.