Eine Factory ist ein Hilfsmittel zur Erzeugung von Produkten und Objekten, unabhängig von konkreten Klassen. Sie wird verwendet, wenn die Instanziierung nur über den new()-Operator? nicht möglich oder nicht sinnvoll ist, zum Beispiel wenn das Objekt schwierig zu konstruieren ist oder vorher konfiguriert werden muss.