factory

provide interface for creating family of related or dependent objects without specifying their concrete classes

Example

also known as kit

participants

  • AbstractFactory, Concrete Factory, Abstract Product, Concrete Product

consequences

  • isolate concrete classes
  • makes exchanging product families easy
  • promotes consistency among products
  • supporting new kinds of products is difficult

implementation

See GOF