Kurz erklärt
Eine Factory kapselt die Erzeugung von Objekten: Der Aufrufer sagt, was er braucht, und die Fabrik entscheidet, welche konkrete Klasse instanziiert wird.
Genauer
Dadurch hängt der Aufrufer nur von einer Schnittstelle ab (Polymorphie), nicht von konkreten Klassen. Neue Varianten lassen sich an einer Stelle ergänzen. Es gibt die einfache *Fabrikmethode* sowie die *Abstrakte Fabrik*, die ganze Familien zusammengehöriger Objekte erzeugt.