Instantiates an aggregate using a method from other aggregate (factory method pattern).
Encapsulates construction of aggregate using factory method.
Arguments that are references, will be replaced with data extracted
from locator, and passed to factory's method.
In case when method is not static member, the algorithm will use
an instantiaton of factory passed to it, or extracted from locator
if a reference is passed.
class FactoryMethodBasedFactory : ParameterHolder!Args, InstanceFactory!(ReturnType!(getCompatibleOverload!(T, method, Args)))(
Instantiates an aggregate using a method from other aggregate (factory method pattern).
Encapsulates construction of aggregate using factory method. Arguments that are references, will be replaced with data extracted from locator, and passed to factory's method. In case when method is not static member, the algorithm will use an instantiaton of factory passed to it, or extracted from locator if a reference is passed.