— these common practices aren’t necessariy following the GoF —
Standard practice inside a factory is a static createXXX() method. I think it doesn’t have to be static.
Another standard type of factory is a one-class factory which is its own factory. Such a class often provides factory methods as static methods.
* constructors must be privatized, to avoid other classes calling it directly.