There are 5 Design Patterns:
1. The Factory Method - provides a simple decision making class that
returns one of several possible subclasses of an abstract base class depending
on the data that are provided.
2. The Abstract Factory Method - provides an interface to create and
return one of several families of related objects.
3. The Builder Pattern - separates the construction of a complex object
from its representation, so that several different representations can be created
depending on the needs of the program.
4. The Prototype Pattern - starts with an initialized and instantiated
class and copies or clones it to make new instances rather than creating new
instances.
5. The Singleton Pattern - is a class of which there can be no more than
one instance. It provides a single global point of access to that instance.