Zitat von
OregonGhost:
Das ist zwar das Factory-Pattern, aber ich halte es in diesem Fall für, naja, zu viel, eine extra Klasse dafür zu haben.
Für die funktion des Patterns ist es ziemlich irrelevant, ob es nun als statische Methode in der Basisklasse oder in einer eigenen Klasse implementiert ist. Ich würde wahrscheinlich Letzteres wählen, da ich die Benutzung der abgeleiteten Klassen in ihrer Basisklasse etwas unschön fände.
Zitat:
Factory-Klasse hat doch Polymorphie, weil sie eine Ableitung einer Basisklasse zurückliefert (oder Implementierung einer Schnittstelle), oder?
Wie gesagt, den Teil hat er doch schon
. Aber die Factory-Klasse selbst ist bei einfachen Implementationen meist statisch (nicht ganz so simples Gegenbeispiel wäre System.Data.Common.DbProviderFactory/Factories).
@Jelly: Kommt ganz darauf an, wie generisch die Factory werden soll. Wenn es bei den vier, fünf Klassen bleibt, kann man die auch noch hart in die Factory coden.