What is factory code?

Specifically, using factories provides encapsulation, and means the code is not tied to specific classes or objects , and thus the class hierarchy or prototypes can be changed or refactored without needing to change code that uses them – they abstract from the class hierarchy or prototypes.

Read more