Factory

Three types


 * Simple Factory
 * Factory Method
 * Abstract Factory