Factory, within Domain-Driven Design, are Methods for creating domain objects should delegate to a specialized Factory object such that alternative implementations may be easily interchanged.

Factory Method Pattern is a creational Software design pattern that uses Factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created. This is done by creating objects by calling a factory method—either specified in an interface and implemented by child classes, or implemented in a base class and optionally overridden by derived classes—rather than by calling a constructor.

More Information#

There might be more information for this subject on one of the following: