I pattern creazionali nascondono i costruttori delle classi e mettono dei metodi al loro posto creando un'interfaccia. In questo modo si possono utilizzare oggetti senza sapere come sono implementati.
* L'[[abstractAbstract factory]] fornisce un'interfaccia per creare famiglie di oggetti connessi o dipendenti tra loro, in modo che non ci sia necessità da parte degli utilizzatori di specificare i nomi delle classi concrete all'interno del proprio codice.
* [[Anonymous subroutine objects]]
* Il [[builderBuilder]] separa la costruzione di un oggetto complesso dalla sua rappresentazione, in modo che il processo di costruzione stesso possa creare diverse rappresentazioni.
* Il [[factoryFactory method]] fornisce un'interfaccia per creare un oggetto, ma lascia che le sottoclassi decidano quale oggetto istanziare.
* La [[lazyLazy initialization]] è la tattica di instanziare un oggetto solo nel momento in cui deve essere usato per la prima volta. E' utilizzato spesso insieme al pattern ''factory method''.
* Il [[prototypePrototype]] permette di creare nuovi oggetti clonando un'oggetto iniziale, o prototipo.
* [[Singleton]], il cui scopo è assicurare che di una classe possa essere creata una sola istanza.