-The Singleton Pattern-
Possibly the simplest design pattern is the singleton, which is a way to provide one and only one object of a particular type.
- The Borg implementation -
Alex Martelli makes the observation that what we really want with a Singleton is to have a single set of state data for all objects. That is, you could create as many objects as you want and as long as they all refer to the same state information then you achieve the effect of Singleton.