Creates an instance of several families of classes
Abstract Factory
Separates object construction from its representation
Builder
Creates an instance of several derived classes
Factory Method
Avoid expensive acquisition and release of resources by recycling objects that are no longer in use
Object Pool
A fully initialized instance to be copied or cloned
Prototype
A class of which only a single instance can exist
Singleton