Provide ways to create objects while hiding the creation logic.
"Provide an interface for creating families of related or dependent object without specifying their concrete classes." [GoF]
"Separate the construction of a complex object from its representation so that the same construction process can create different representations." [GoF]
"Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses." [GoF]
"Offer a mechanism to kept ready a set of objects that are expensive to create "
"Specify the kinds of objects to create using a prototypical instance and create new objects by copying this prototype ." [GoF]
"Ensure a class has only one instance, and provide a global point of access to it." [GoF]