Abstract Factory

Creational Pattern

An abstract factory offers the interface for creating a set of related or dependant objects without explicitly specifying their classes. The type of the created objects are determined at run-time.
Links
Books