Here's the first one, Singleton , rather simple. The singleton pattern applies to the many situations in which there needs to be a single instance of a class, a single object. It is often left up to the programmer to insure that the An important consideration in implementing this pattern is how to make this single instance easily accessible by many other objects. There is actually only one class that needs to be written specially to implement the Singleton pattern. A second client class will always be involved take make requests from the singleton.
Single instance is controlled absolutely.
When implemented as the pattern recommends, the class will have direct control over how many instances can be created. This is in contrast to making the programmer responsible for insuring that there is only one instance. The most important modification needed to accomplish this change is in the operator that has control over access to the instances. Possibly for reuse, or maybe for using multiple singletons in a single program. The facade pattern can make the task of accessing a large number of modules much simpler by providing an additional interface layer.