Factory Method Pattern

Das Factory Method Pattern ist ein Design Pattern. Bei einer Factory Method handelt es sich um eine abstrakte Methode einer Creator-Klasse, deren Zweck es ist, Objekte einer Klassenhierarchie (die so genannten Products) zu erzeugen.

Konkrete Subklassen der Creator-Klasse implementieren die Factory Method so, dass konkrete Subklassen des Products erzeugt werden.

In Java kann der Creator als Interface mit der abstrakten Factory Methode (hier createProduct()) realisiert werden.

public interface Creator
{
  Product createProduct();
}

public interface Product
{
}

public class ConcreteProduct1 implements Product
{
  public ConcreteProduct1()
  {
    super();
  }
}

public class ConcreteProduct2 implements Product
{
  public ConcreteProduct2()
  {
    super();
  }
}

public ConcreteCreator1 implements Creator
{
  public Product createProduct()
  {
    return new ConcreteProduct1();
  }
}

public ConcreteCreator2 implements Creator
{
  public Product createProduct()
  {
    return new ConcreteProduct2();
  }
}