Creational patterns manage object-creation mechanisms, making a system independent of how its objects are created, composed, and represented. They increase flexibility and facilitate code reuse: the system knows only the interfaces of the objects it works with, not their concrete classes. These patterns become especially important as a system evolves and relies more on object composition than on class inheritance.
There are two types of Creational patterns:
Class-level patterns delegate object creation to subclasses through inheritance.
Only “Factory Method” belongs to class-level patterns.
Object-level patterns delegate object creation to other objects, keeping the system independent of concrete classes.