- to create an instance of one non-injectable class or interface
- to create an instance of one non-injectable class or object
to create an instance of one non-injectable class or function- None of the above
Factories are service classes that instantiate non-injectable classes, that is, models that represent a database entity. They create a layer of abstraction between the ObjectManager and business code.
devdocs.magento.com/guides/v2.0/extension-dev-guide/factories.html
Factories are smart enough to resolve dependencies and allow you to get the correct instance of an interface as defined in your module’s di.xml.
devdocs.magento.com/guides/v2.0/extension-dev-guide/factories.html#interfaces
Тупой индус взял формулировку отсюда: magento.stackexchange.com/q/123973