Abstract Factory
Function
Work with objects from different families so that they do not mix with each other, making transparent the type of specific family being used.
Work with objects from different families so that they do not mix with each other, making transparent the type of specific family being used.
Centralize in a construction class the creation of objects of a subtype of a given type.
To facilitate the abstraction of the process of creation of a complex object, centralizing it in a single point.
Create new objects by cloning them from an existing instance.
Ensure the existence of a single instance for a class and the creation of a mechanism for global access to it.