Konstruktor zawsze zwraca zupełnie nową instancję dokładnie swojej klasy, z nazwą ustaloną do klasy. Metoda factory to zwykła (często statyczna) metoda, która tworzy obiekty — dając ci swobodę nad nazewnictwem, którym podtypem powrócić i czy w ogóle utworzyć nowy obiekt.
