Der Begriff Factory Pattern (engl. für Fabrikmuster) kommt aus dem Bereich des Software Engineering und spezieller, aus dem Bereich der objektorientierten Programmierung (OOP).
Dieses Entwicklungsmuster definiert eine Klasse (in vereinzelten Fällen als Singleton-Pattern ausgelegt), die Objekte eines bestimmten Typs (siehe auch Klassen, Interfaces) produziert. Daher wird oft auch von Produzent (Producer) bzw. Bereitsteller (Provider) gesprochen.
Zu beachten ist, dass "Factories" die erzeugten Objekte als Objekt einer gemeinsamen Oberklasse oder einer Schnittstellendefinition (Interface) zurückgeben. Dadurch ist eine "Factory" in der Lage, verschiedene spezialisierte Klassen eines gemeinsamen Typs bzw. mit einer gemeinsamen Schnittstelle bereitzustellen.
Folgend ein Beispiel in der Programmiersprache Java. Es wird angenommen, dass es die drei Kontenarten Giro, Spar und Depot gibt, die durch die Klassen GiroKonto, SparKonto und DepotKonto dargestellt werden. Alle drei Kontenarten haben als gemeinsame Oberklasse die abstrakte Klasse Konto (alternativ können auch alle Klassen die Schnittstelle (interface) Konto implementieren).
public class KontoFactory
{
public final static int GIRO = 0;
public final static int SPAR = 1;
public final static int DEPOT = 2;
public Konto getInstance(final int kontoArt)
{
switch (kontoArt)
{
case GIRO:
{
return new GiroKonto();
break;
}
case SPAR:
{
return new SparKonto();
break;
}
case DEPOT:
{
return new DepotKonto();
break;
}
default:
{
throw new IllegalArgumentException("Kontoart nicht unterstuetzt.");
}
}
}
}
-------
Eine Metasyntaktische Variable ist ein Name in einem Beispiel, bzw. Beispielprogramm, der nur zur beispielhaften Erklärung verwendet wird. Ein Programmierer würde diesen Namen also nie in einem echten Programm verwenden.
Metasyntaktische Variablen haben Ihren Namen deshalb weil sie in einer höheren Sprachebene der Beschreibung eines Programms dienen (Metasprache).
Sie treten häufig in Serien auf und sind kulturspezifisch, so z.B.
foo, bar, baz, quux, quuux, ... mit Variationen am MIT
foo, bar, thud, grunt an der CMU
fred, jim, sheila, barney
zxc, spqr, wombat in Cambridge
foo, bar, zot in Finnland
toto, titi, tata, tutu in Frankreich
pippo, pluto, paperino in Italien
aap, noot, mies in den Niederlanden
zu finden auf http://www.net-lexikon.de/Metasyntaktische-Variable.html