Abstract Factory (87)
{C ch 5} provide an interface for creating
families of related or dependent objects, without specifying their concrete classes
Builder (97) {C ch 7}
separate the construction of a complex object from its
representation so that the same construction process can create different representations
Factory Method (107) {C
ch 4} define an interface for creating an
object, but defer and let subclasses decide which class to instantiate
Prototype (117) {C ch 8}
specify the kinds of objects to create using a prototypical
instance, and create new objects by copying this prototype (object cloning)
Singleton (127) {C ch 6}
ensure a class has only one instance, and provide a global
point of access to it